Bucket の作成

Kii Cloud にデータを格納するにはまず Bucket を作成する必要があります。

Bucket の作成を含む、Bucket の操作概要は Bucket への操作 をご覧ください。

Bucket の名前

Bucket を作成する際には、下記の例外を除いて任意の名前をつけることができます。この名前は作成済みの Bucket を参照するときに使用します。

Bucket の命名に関するルールは次のとおりです。

  • 以下は予約語のため利用できません。
    • users
    • devices
    • internal
    • things
  • "_"(アンダースコア)で始まる名前は利用できません。
  • 英数字と"_"(アンダースコア)から構成される 2~64 文字の名前として指定します。

  • Bucket の名前はアプリケーションスコープ、グループスコープ、ユーザースコープで同じものを使用できますが、それぞれ違う Bucket として認識されます。

Bucket の名前は、本ガイドやリファレンスマニュアルでは {BUCKET_ID} として表現されています。{BUCKET_ID} には Bucket の名前を指定してください。

Object Bucket

Bucket のスコープに応じて、REST のリソースが次のように決定されます。

スコープ リソース URL
アプリケーション https://api-jp.kii.com/api/apps/{APP_ID}/buckets/{BUCKET_ID}
グループ https://api-jp.kii.com/api/apps/{APP_ID}/groups/{GROUP_ID}/buckets/{BUCKET_ID}
ユーザー https://api-jp.kii.com/api/apps/{APP_ID}/users/<selector>/buckets/{BUCKET_ID}
Thing https://api-jp.kii.com/api/apps/{APP_ID}/things/{THING_ID}/buckets/{BUCKET_ID}

ユーザースコープの <selector> 部分の指定方法は、リソース URL とユーザーの表現 をご覧ください。また、Thing スコープの {THING_ID} 部分の指定方法は リソース URL と Thing の表現 をご覧ください。

アプリケーションスコープの Bucket を使う場合はセキュリティにご注意ください。詳細は機能ガイドの アプリケーションスコープの利用 をご覧ください。

実際に Object Bucket にアクセスし、Bucket 内に Object を作成する例を以下に挙げます。

アプリケーションスコープの Bucket

curl -v -X POST \
  -H "Authorization: Bearer {ACCESS_TOKEN}" \
  -H "Content-Type: application/vnd.{APP_ID}.mydata+json" \
  "https://api-jp.kii.com/api/apps/{APP_ID}/buckets/{BUCKET_ID}/objects" \
  -d '{"score": 1800, "name": "game1"}'

前述のように、{BUCKET_ID} には Bucket の名前を指定します。

グループスコープの Bucket

curl -v -X POST \
  -H "Authorization: Bearer {ACCESS_TOKEN}" \
  -H "Content-Type: application/vnd.{APP_ID}.mydata+json" \
  "https://api-jp.kii.com/api/apps/{APP_ID}/groups/{GROUP_ID}/buckets/{BUCKET_ID}/objects" \
  -d '{"score": 1800, "name": "game1"}'

ユーザースコープの Bucket

curl -v -X POST \
  -H "Authorization: Bearer {ACCESS_TOKEN}" \
  -H "Content-Type: application/vnd.{APP_ID}.mydata+json" \
  "https://api-jp.kii.com/api/apps/{APP_ID}/users/me/buckets/{BUCKET_ID}/objects" \
  -d '{"score": 1800, "name": "game1"}'

Thing スコープの Bucket

curl -v -X POST \
  -H "Authorization: Bearer {ACCESS_TOKEN}" \
  -H "Content-Type: application/vnd.{APP_ID}.mydata+json" \
  "https://api-jp.kii.com/api/apps/{APP_ID}/things/{THING_ID}/buckets/{BUCKET_ID}/objects" \
  -d '{"score": 1800, "name": "game1"}'

Bucket 一覧機能の実装ヒント

Bucket 一覧の機能が必要な場合、アプリ側での実装が必要となります。

通常、Bucket は Bucket 名を使ってプログラムから固定的にアクセスするため、一覧が必要となるケースはあまりないはずです。動的に Bucket を生成するような特殊なケースで一覧が必要な場合は、アプリケーションスコープに Bucket 名の一覧の情報を格納するなどの方法をとれます。実装方法は、ユーザー一覧の実装方法 を参考にしてください。