Todos los productos
Search
Centro de documentos

Object Storage Service:Crear un índice vectorial (Python SDK V2)

Última actualización: Sep 22, 2026

Llame a la operación PutVectorIndex mediante el Python SDK V2 para crear un índice vectorial en un bucket de vectores.

Permisos

De forma predeterminada, las cuentas de Alibaba Cloud tienen todos los permisos. En cambio, los usuarios y roles de Resource Access Management (RAM) no tienen ninguno. La cuenta de Alibaba Cloud o un administrador debe otorgar los permisos correspondientes mediante una RAM policy o un bucket policy.

API

Acción

Descripción

PutVectorIndex

oss:PutVectorIndex

Crea un índice vectorial.

Definición del método

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

Parámetros de solicitud

Parámetro

Tipo

Descripción

request

PutVectorIndexRequest

Establezca los parámetros de la solicitud, como el nombre del bucket de vectores. Para obtener más información, consulte PutVectorIndexRequest.

Valores devueltos

Tipo

Descripción

PutVectorIndexResult

El valor devuelto. Para obtener más información, consulte PutVectorIndexResult.

Para consultar la definición completa del método, vea put_vector_index.

Código de ejemplo

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()

Referencias

Para consultar el código de ejemplo completo, vea put_vector_index.py.