すべてのプロダクト
Search
ドキュメントセンター

Object Storage Service:PutVectorIndex

最終更新日:Jun 27, 2026

PutVectorIndex API は、ベクターバケットにベクトルインデックスを作成します。

注意事項

  • 1 つのベクターバケットには、最大 100 個のベクトルインデックスを含めることができます。

  • 1 秒あたり最大 5 件の PutVectorIndex リクエストに対応しています。

権限

デフォルトでは、Alibaba Cloud アカウントにはすべての権限がありますが、Resource Access Management (RAM) ユーザーおよび RAM ロールには権限がありません。Alibaba Cloud アカウントまたは管理者は、RAM ポリシーまたはバケットポリシーを介して権限を付与する必要があります。

API

アクション

説明

PutVectorIndex

oss:PutVectorIndex

ベクトルインデックスを作成します。

リクエスト構文

POST /?putVectorIndex HTTP/1.1
Host: examplebucket-123***456.cn-hangzhou-internal.oss-vectors.aliyuncs.com
Date: GMT Date
Authorization: SignatureValue
Content-type: application/json

{
   "dataType": "string",
   "dimension": int,
   "distanceMetric": "string",
   "indexName": "string",
   "metadata": { 
      "nonFilterableMetadataKeys": [string, string]
   }
}

リクエストヘッダー

この操作は共通リクエストヘッダーのみを使用します。詳細については、「共通リクエストヘッダー」をご参照ください。

リクエストパラメーター

名前

データ型

必須

説明

dataType

String

はい

float32

ベクターデータのデータ型。このパラメーターはユーザーが設定することはできません。デフォルト値: float32。

dimension

はい

512

ベクターのディメンション。有効値の範囲は 1~4096 です。デフォルト値: 512。

distanceMetric

String

はい

euclidean

距離測定関数。有効値:

  • euclidean: ユークリッド距離 (デフォルト)

  • cosine: コサイン距離

indexName

String

はい

vectorindex1

インデックスのカスタム名。

  • 名前はベクターバケット内で一意である必要があり、長さは 1~63 文字である必要があります。

  • 英数字のみ使用でき、先頭は英字である必要があります。

metadata

Object

いいえ

-

メタデータ設定のコンテナー。フィルター不可のメタデータのみに対応しています。

nonFilterableMetadataKeys

文字列の配列

いいえ

["field1", "field2"]

フィルター不可のメタデータの設定。次の制限が適用されます:

  • キーの数は 1~100 個である必要があります。

  • 各メタデータキーの名前は 1~63 バイトの長さである必要があります。使用できる文字は、大文字、小文字、数字、アンダースコア (_) です。また、先頭の文字は、大文字、小文字、またはアンダースコア (_) である必要があります。

親ノード: metadata

レスポンスヘッダー

この操作は共通レスポンスヘッダーのみを使用します。詳細については、「共通レスポンスヘッダー」をご参照ください。

リクエストの例

POST /?putVectorIndex HTTP/1.1
Host: examplebucket-123***456.cn-hangzhou-internal.oss-vectors.aliyuncs.com
Date: Thu, 17 Apr 2025 01:33:47 GMT
Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218
Content-type: application/json

{
   "dataType": "float32",
   "dimension": 1024,
   "distanceMetric": "euclidean",
   "indexName": "vectorindex1",
   "metadata": { 
      "nonFilterableMetadataKeys": ["category", "timestamp"]
   }
}

レスポンスの例

HTTP/1.1 200 OK
x-oss-request-id: 534B371674E88A4D8906****
Date: Thu, 17 Apr 2025 01:33:47 GMT
Connection: keep-alive
Server: AliyunOSS

SDK

PutVectorIndex API は、次のソフトウェア開発キット (SDK) に対応しています。

ossutil コマンドラインツール

ossutil コマンドラインツールを使用してこの操作を呼び出すには、「put-vector-index」をご参照ください。

エラーコード

エラーコード

HTTP ステータスコード

説明

VectorIndexParameterInvalid

400

リクエストで指定されたベクトルインデックスパラメーターが無効です。

MalformedJson

400

リクエスト本文の JSON 形式が無効です。

VectorBucketIndexExceedLimit

400

作成されたインデックスの数が上限に達しました。1 つのベクターバケットに作成できるベクトルインデックスは最大 100 個です。

AccessDenied

403

このエラーは、次のいずれかの理由で返されます:

  • リクエストにユーザー認証情報が含まれていません。

  • 必要な権限がありません。

VectorBucketIndexAlreadyExist

409

指定されたインデックス名はすでに存在します。同じ名前のインデックスを重複して作成することはできません。