awswrangler.s3.create_vector_index

awswrangler.s3.create_vector_index(*, name: str, dimension: int, distance_metric: str = 'cosine', vector_bucket: str | None = None, vector_bucket_arn: str | None = None, data_type: str = 'float32', non_filterable_metadata_keys: list[str] | None = None, encryption_kms_key_arn: str | None = None, sse_type: str | None = None, tags: dict[str, str] | None = None, boto3_session: Session | None = None) str

Create a vector index inside an Amazon S3 Vectors bucket.

Parameters:
  • name (str) – Index name (3-63 chars).

  • dimension (int) – Vector dimension (1-4096). All vectors written to the index must match.

  • distance_metric (str) – 'cosine' (default) or 'euclidean'.

  • vector_bucket_arn (vector_bucket /) – Target vector bucket. Specify exactly one.

  • data_type (str) – Vector element type. Currently only 'float32' is supported.

  • non_filterable_metadata_keys (list[str] | None) – Metadata keys excluded from filtering (up to 10). Cannot be changed after index creation.

  • encryption_kms_key_arn (str | None) – Encryption overrides; default is to inherit from the bucket.

  • sse_type (str | None) – Encryption overrides; default is to inherit from the bucket.

  • tags (dict[str, str] | None) – Resource tags.

  • boto3_session (Session | None) – The default boto3 session will be used if boto3_session is None.

Return type:

str

Returns:

ARN of the created vector index.

Examples

>>> import awswrangler as wr
>>> arn = wr.s3.create_vector_index(
...     vector_bucket="my-bucket", name="my-index", dimension=384
... )