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

Object Storage Service:ベクトルインデックスの作成 (Python SDK V2)

最終更新日:Jun 03, 2026

Python SDK V2 を使用して PutVectorIndex API を呼び出し、ベクトルバケットにベクトルインデックスを作成します。

権限

Alibaba Cloud アカウントには、デフォルトですべての権限があります。一方、RAM ユーザーまたは RAM ロールには、デフォルトでは権限がありません。Alibaba Cloud アカウントまたは管理者が、RAM ポリシーまたはバケットポリシーを使用して、この操作の権限を付与する必要があります。

API

アクション

説明

PutVectorIndex

oss:PutVectorIndex

ベクターインデックスを作成します。

メソッド定義

put_vector_index(request: PutVectorIndexRequest, **kwargs) → PutVectorIndexResult

リクエストパラメーター

パラメーター

説明

request

PutVectorIndexRequest

ベクトルバケットの名前などのリクエストパラメーターを設定します。詳細については、「PutVectorIndexRequest」をご参照ください。

戻り値

説明

PutVectorIndexResult

戻り値です。詳細については、「PutVectorIndexResult」をご参照ください。

メソッドの完全な定義については、「put_vector_index」をご参照ください。

サンプルコード

import argparse
import alibabacloud_oss_v2 as oss
import alibabacloud_oss_v2.vectors as oss_vectors

parser = argparse.ArgumentParser(description="vector put vector index sample")
parser.add_argument('--region', help='バケットが配置されているリージョン。', required=True)
parser.add_argument('--bucket', help='バケットの名前。', required=True)
parser.add_argument('--endpoint', help='他のサービスが OSS にアクセスする際に使用できるドメイン名。')
parser.add_argument('--index_name', help='ベクトルインデックスの名前。', required=True)
parser.add_argument('--account_id', help='アカウント ID。', required=True)

def main():
    args = parser.parse_args()

    # 環境変数から認証情報を読み込みます
    credentials_provider = oss.credentials.EnvironmentVariableCredentialsProvider()

    # SDK のデフォルト設定を使用します
    cfg = oss.config.load_default()
    cfg.credentials_provider = credentials_provider
    cfg.region = args.region
    cfg.account_id = args.account_id
    cfg.use_internal_endpoint = True  # パブリックネットワーク経由でサービスにアクセスするには、このパラメーターを False に設定するか、この行を削除します。
    if args.endpoint is not None:
        cfg.endpoint = args.endpoint

    vector_client = oss_vectors.Client(cfg)

    result = vector_client.put_vector_index(oss_vectors.models.PutVectorIndexRequest(
        bucket=args.bucket,
        index_name=args.index_name,
        dimension=512,
        data_type='float32',
        distance_metric='euclidean',
        metadata={"nonFilterableMetadataKeys": ["key1", "key2"]}
    ))

    print(f'status code: {result.status_code},'
          f' request id: {result.request_id},'
    )

if __name__ == "__main__":
    main()

関連ドキュメント

完全なサンプルコードについては、「put_vector_index.py」をご参照ください。