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

Object Storage Service:PutVectors

最終更新日:Jan 13, 2026

PutVectors 操作を呼び出して、ベクトルデータをインデックスに書き込むことができます。

注意事項

  • 1 つのベクトルインデックステーブルには、最大 5,000 万行のベクトルデータを格納できます。 このクォータをテーブルあたり 20 億行に増やすには、テクニカルサポートまでご連絡ください。

  • 1 回の PutVectors 呼び出しで書き込めるエントリは最大 500 件です。

権限

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

API

アクション

説明

PutVectors

oss:PutVectors

ベクトルデータを書き込みます。

リクエスト構文

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

{
   "indexName": "string",
   "vectors": [ 
      { 
         "data": {
            "float32":[float]
         },
         "key": "string",
         "metadata": {
             "key1": ["value1", "value2"],
             "key2": "value2"
         }
      }
   ]
}

リクエストヘッダー

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

リクエストパラメーター

名前

データ型

必須

説明

indexName

String

はい

vectorindex1

インデックスの名前。

vectors

Container

はい

-

書き込むベクトルの配列。 コンテナー内の要素数は 1~500 の範囲である必要があります。

key

String

はい

doc-001

ベクトルを一意に識別するプライマリキー。 制約事項:

  • キーがすでに存在する場合、ベクトルは上書きされます。 同じバッチ内に重複キーが存在する場合、すべてのエントリに対してエラーが返されます。

  • キーの長さは 1~1,024 文字である必要があります。

  • キーは UTF-8 フォーマットである必要があります。

親ノード: vectors

data

Container

はい

-

ベクトルの内容。 制約事項:

  • ベクトルディメンションの数は、ベクトルインデックスに設定されたディメンションの数と一致する必要があります。

  • 余弦距離メジャーの場合、ゼロベクトル (すべての要素がゼロのベクトル) は許可されません。

  • ベクトルデータには、有効な浮動小数点数のみを含める必要があります。 NaN (Not a Number) や Infinity などの無効な値は許可されません。

親ノード: vectors

float32

数値の配列

はい

[0.1, 0.2, 0.3]

float32 型のベクトルデータ。 ベクトルディメンションの数は、インデックスに定義されたディメンションの数と一致する必要があります。 余弦距離メジャーを使用する場合、ゼロベクトルは許可されません。

親ノード: data

metadata

Container

いいえ

-

メタデータ。 制約事項:

  • 合計サイズ: 40 KB 以下

  • フィルタリング可能なメタデータの制約事項:

    • 長さ: 0~10

    • フィルタリング可能な部分のサイズ: 2 KB 以下

    • サポートされる型: 文字列または文字列配列。

親ノード: vectors

レスポンスヘッダー

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

リクエスト例

POST /?putVectors 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

{
   "indexName": "vectorindex1",
   "vectors": [
      {
         "key": "doc-001",
         "data": {
            "float32": [0.1, 0.2, 0.3, 0.4, 0.5]
         },
         "metadata": {
             "category": ["technology", "ai"],
             "title": "Introduction to Vector Search"
         }
      },
      {
         "key": "doc-002",
         "data": {
            "float32": [0.6, 0.7, 0.8, 0.9, 1.0]
         },
         "metadata": {
             "category": ["technology", "database"],
             "title": "Advanced Database Indexing"
         }
      }
   ]
}

レスポンス例

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

PutVectors 操作は、次の SDK でサポートされています:

ossutil コマンドラインインターフェイス

PutVectors 操作の ossutil コマンドについては、「put-vectors」をご参照ください。

エラーコード

エラーコード

HTTP ステータスコード

説明

VectorIndexParameterInvalid

400

リクエストで指定されたベクトルインデックスパラメーターが無効であるか、1 つのベクトルインデックステーブルに 5,000 万行を超えるベクトルデータが格納されています。

MalformedJson

400

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

AccessDenied

403

このエラーの原因として、次のものが考えられます:

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

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

NoSuchVectorIndex

404

指定されたベクトルインデックスが存在しません。

QpsLimitExceeded

503

クエリ/秒 (QPS) が上限を超えています。 HTTP ステータスコードが 5xx の場合、同じバッチ内の一部のデータのみが正常に書き込まれる可能性があります。 書き込み操作は原子性を保証しません。