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

Object Storage Service:ベクターデータの書き込み (PutVectors)

最終更新日:Mar 26, 2026

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

注意事項

  • 1 回の PutVectors リクエストでは最大 500 個のベクターを書き込めます。また、1 秒あたりのリクエスト数(QPS)は最大 5 です。

権限

Alibaba Cloud アカウント (root ユーザー) には、デフォルトですべての権限が付与されています。ただし、RAM ユーザーおよび RAM ロールには、デフォルトで権限が付与されていません。Alibaba Cloud アカウントの所有者または管理者が、RAM ポリシー または バケットポリシー を使用して、操作権限を明示的に付与する必要があります。

API

Action

説明

PutVectors

oss:PutVectors

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

リクエスト構文

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

{
   "indexName": "文字列",
   "vectors": [ 
      { 
         "data": {
            "float32":[浮動小数点数]
         },
         "key": "文字列",
         "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

以下の SDK で PutVectors 操作がサポートされています。

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

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

エラーコード

エラーコード

HTTP ステータスコード

説明

VectorIndexParameterInvalid

400

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

MalformedJson

400

リクエストボディ内の JSON 形式が無効です。

AccessDenied

403

このエラーが発生する可能性のある原因は以下のとおりです。

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

  • この操作を実行するための必要な権限が付与されていません。

NoSuchVectorIndex

404

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

QpsLimitExceeded

503

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