PutVectorIndex API は、ベクターバケットにベクターインデックスを作成します。
注意事項
1 つのベクターバケットには、最大 100 個のベクターインデックスを含めることができます。 このクォータを増やすには、テクニカルサポートまでご連絡ください。
1 秒あたり最大 5 件の PutVectorIndex リクエストがサポートされます。
権限
デフォルトでは、Alibaba Cloud アカウント (root ユーザー) はすべての権限を持ちますが、Resource Access Management (RAM) ユーザーと RAM ロールには権限がありません。 Alibaba Cloud アカウント (root ユーザー) または管理者は、RAM ポリシーまたはバケットポリシーを通じて権限を付与する必要があります。
API | アクション | 説明 |
PutVectorIndex |
| ベクターインデックスを作成します。 |
リクエスト構文
POST /?putVectorIndex HTTP/1.1
Host: examplebucket-123***456.cn-hangzhou.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 | Value | はい | 512 | ベクターのディメンション。 有効な値: 1~4096。 デフォルト値: 512。 |
distanceMetric | String | はい | euclidean | 距離メジャー関数。 有効な値:
|
indexName | String | はい | vectorindex1 | インデックスのカスタム名。
|
metadata | Object | いいえ | - | メタデータ構成のコンテナー。 フィルター不可のメタデータのみがサポートされます。 |
nonFilterableMetadataKeys | 文字列の配列 | いいえ | ["field1", "field2"] | フィルター不可のメタデータの構成。 次の制限が適用されます。
親ノード: metadata |
応答ヘッダー
この操作では、共通の応答ヘッダーのみを使用します。 詳細については、「共通応答ヘッダー」をご参照ください。
例
リクエスト例
POST /?putVectorIndex HTTP/1.1
Host: examplebucket-123***456.cn-hangzhou.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: AliyunOSSSDK
PutVectorIndex API は、次のソフトウェア開発キット (SDK) でサポートされています:
ossutil コマンドラインツール
PutVectorIndex API に対応する ossutil コマンドについては、「put-vector-bucket」をご参照ください。
エラーコード
エラーコード | HTTP ステータスコード | 説明 |
VectorIndexParameterInvalid | 400 | リクエストで指定されたベクターインデックスパラメーターが無効です。 |
MalformedJson | 400 | リクエストボディの JSON フォーマットが無効です。 |
VectorBucketIndexExceedLimit | 400 | 作成されたインデックスの数が上限に達しました。 1 つのベクターバケットに作成できるベクターインデックスは最大 100 個です。 |
AccessDenied | 403 | このエラーは、次の考えられる理由で返されます。
|
VectorBucketIndexAlreadyExist | 409 | 指定されたインデックス名はすでに存在します。 同じ名前のインデックスを作成することはできません。 |