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

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

最終更新日:Nov 09, 2025

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

権限

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

API

Action

説明

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="ベクターインデックス配置のサンプル")
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
    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'状態コード: {result.status_code},'
          f' リクエスト ID: {result.request_id},'
    )

if __name__ == "__main__":
    main()

リファレンス

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