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

Object Storage Service:PutVectorIndex

最終更新日:Jan 10, 2026

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

注意事項

  • 1 つのベクターバケットには、最大 100 個のベクターインデックスを含めることができます。 このクォータを増やすには、テクニカルサポートまでご連絡ください。

  • 1 秒あたり最大 5 件の PutVectorIndex リクエストがサポートされます。

権限

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

API

アクション

説明

PutVectorIndex

oss: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

距離メジャー関数。 有効な値:

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

  • cosine: 余弦距離

indexName

String

はい

vectorindex1

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

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

  • 名前に含めることができるのは文字と数字のみで、先頭は文字である必要があります。

metadata

Object

いいえ

-

メタデータ構成のコンテナー。 フィルター不可のメタデータのみがサポートされます。

nonFilterableMetadataKeys

文字列の配列

いいえ

["field1", "field2"]

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

  • メタデータエントリの数は 1~10 である必要があります。

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

親ノード: 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: AliyunOSS

SDK

PutVectorIndex API は、次のソフトウェア開発キット (SDK) でサポートされています:

ossutil コマンドラインツール

PutVectorIndex API に対応する ossutil コマンドについては、「put-vector-bucket」をご参照ください。

エラーコード

エラーコード

HTTP ステータスコード

説明

VectorIndexParameterInvalid

400

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

MalformedJson

400

リクエストボディの JSON フォーマットが無効です。

VectorBucketIndexExceedLimit

400

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

AccessDenied

403

このエラーは、次の考えられる理由で返されます。

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

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

VectorBucketIndexAlreadyExist

409

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