7.5. インデックスの作成

PUT /1/(tenantId)/buckets/object/(bucketName)/index

オブジェクトバケットにインデックスを作成する

Request Headers:
 
  • X-Application-Id -- アプリケーションID(必須)
  • X-Application-Key -- アプリケーションキー(必須)
  • X-Session-Token -- セッショントークン(オプション)
  • Content-Type -- "application/json"
Parameters:
  • bucketName (string) -- バケット名
Request JSON Object:
 
  • name (string) -- インデックス名
  • key (array) -- キー
  • option (object) -- インデックスオプション
Status Codes:
  • 200 OK -- 正常に登録した
  • 400 Bad Request -- パラメータ不正
  • 401 Unauthorized -- 認証エラー
  • 403 Forbidden -- 権限エラー
  • 404 Not Found -- 指定したバケットが存在しない
  • 409 Conflict -- 同名のインデックスがすでに存在する。 または unique 指定した際にユニーク制約を満たさないオブジェクトがすでに存在している。
Response JSON Object:
 
  • results (array) -- インデックス情報の配列

リクエストボディの例

インデックスは以下のように JSON で指定する。

{
    "name": "key1_key2",
    "keys": [
        { "name": "key1", "type": 1 },
        { "name": "key2", "type": -1 }
    ],
    "options": { "unique": true }
}

name にはインデックス名を指定する。

keys にはインデックスを構成するキーとタイプをもつ JSON オブジェクトの配列を指定する。 上記例では、key1, key2 の複合キーを指定しており、key1は昇順(type=1)、key2は降順(type=-1)である。

options にはオプションを JSON オブジェクトで指定する。以下のオプションを指定できる。

パラメータ名 種別
unique boolean ユニーク制約。trueにすると、既存インデックスと一致するドキュメントの追加はエラーとなる。デフォルトは false。

注意事項

  • 対象バケットに対する admin 権限が必要である。
  • キーおよびオプションが一致する既存のインデックスが存在する場合は正常終了となる。 既存のインデックスは変更されず、リクエストしたインデックスは無視される。

注意

本APIはβ版である。