PutVectorIndex API は、ベクターバケットにベクトルインデックスを作成します。
注意事項
1 つのベクターバケットには、最大 100 個のベクトルインデックスを含めることができます。
-
1 秒あたり最大 5 件の PutVectorIndex リクエストに対応しています。
権限
デフォルトでは、Alibaba Cloud アカウントにはすべての権限がありますが、Resource Access Management (RAM) ユーザーおよび RAM ロールには権限がありません。Alibaba Cloud アカウントまたは管理者は、RAM ポリシーまたはバケットポリシーを介して権限を付与する必要があります。
|
API |
アクション |
説明 |
|
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 |
距離測定関数。有効値:
|
|
indexName |
String |
はい |
vectorindex1 |
インデックスのカスタム名。
|
|
metadata |
Object |
いいえ |
- |
メタデータ設定のコンテナー。フィルター不可のメタデータのみに対応しています。 |
|
nonFilterableMetadataKeys |
文字列の配列 |
いいえ |
["field1", "field2"] | フィルター不可のメタデータの設定。次の制限が適用されます:
親ノード: 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: AliyunOSSSDK
PutVectorIndex API は、次のソフトウェア開発キット (SDK) に対応しています。
ossutil コマンドラインツール
ossutil コマンドラインツールを使用してこの操作を呼び出すには、「put-vector-index」をご参照ください。
エラーコード
|
エラーコード |
HTTP ステータスコード |
説明 |
|
VectorIndexParameterInvalid |
400 |
リクエストで指定されたベクトルインデックスパラメーターが無効です。 |
|
MalformedJson |
400 |
リクエスト本文の JSON 形式が無効です。 |
|
VectorBucketIndexExceedLimit |
400 |
作成されたインデックスの数が上限に達しました。1 つのベクターバケットに作成できるベクトルインデックスは最大 100 個です。 |
|
AccessDenied |
403 |
このエラーは、次のいずれかの理由で返されます:
|
|
VectorBucketIndexAlreadyExist |
409 |
指定されたインデックス名はすでに存在します。同じ名前のインデックスを重複して作成することはできません。 |