Tous les produits
Search
Centre de documentation

Object Storage Service:Créer un index vectoriel (SDK Python V2)

Dernière mise à jour :Sep 22, 2026

Utilisez l'opération PutVectorIndex du SDK Python V2 pour créer un index vectoriel dans un bucket vectoriel.

Permissions

Par défaut, les comptes Alibaba Cloud disposent de toutes les autorisations, tandis que les utilisateurs et les rôles RAM n'en ont aucune. Le compte Alibaba Cloud ou un administrateur doit accorder les autorisations via une politique RAM ou une politique de bucket.

API

Action

Description

PutVectorIndex

oss:PutVectorIndex

Crée un index vectoriel.

Définition de la méthode

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

Paramètres de requête

Paramètre

Type

Description

request

PutVectorIndexRequest

Définit les paramètres de la requête, tels que le nom du bucket vectoriel. Pour plus d'informations, consultez PutVectorIndexRequest.

Valeurs de retour

Type

Description

PutVectorIndexResult

Valeur de retour. Pour plus d'informations, consultez PutVectorIndexResult.

Pour la définition complète de la méthode, consultez put_vector_index.

Exemple de code

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='The region in which the bucket is located.', required=True)
parser.add_argument('--bucket', help='The name of the bucket.', required=True)
parser.add_argument('--endpoint', help='The domain name that other services can use to access OSS')
parser.add_argument('--index_name', help='The name of the vector index.', required=True)
parser.add_argument('--account_id', help='The account ID.', required=True)

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

    # Load credentials from environment variables
    credentials_provider = oss.credentials.EnvironmentVariableCredentialsProvider()

    # Using the SDK's default configuration
    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  # To access the service over the public network, set this parameter to False or remove this line.
    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()

Références

Pour l'exemple de code complet, consultez put_vector_index.py.