S3Vectors / Client / create_index

create_index

S3Vectors.Client.create_index(**kwargs)

Creates a vector index within a vector bucket. To specify the vector bucket, you must use either the vector bucket name or the vector bucket Amazon Resource Name (ARN).

Permissions

You must have the s3vectors:CreateIndex permission to use this operation.

You must have the s3vectors:TagResource permission in addition to s3vectors:CreateIndex permission to create a vector index with tags.

See also: AWS API Documentation

Request Syntax

response = client.create_index(
    vectorBucketName='string',
    vectorBucketArn='string',
    indexName='string',
    dataType='float32',
    dimension=123,
    distanceMetric='euclidean'|'cosine',
    metadataConfiguration={
        'nonFilterableMetadataKeys': [
            'string',
        ]
    },
    encryptionConfiguration={
        'sseType': 'AES256'|'aws:kms',
        'kmsKeyArn': 'string'
    },
    tags={
        'string': 'string'
    }
)
Parameters:
  • vectorBucketName (string) – The name of the vector bucket to create the vector index in.

  • vectorBucketArn (string) – The Amazon Resource Name (ARN) of the vector bucket to create the vector index in.

  • indexName (string) –

    [REQUIRED]

    The name of the vector index to create.

  • dataType (string) –

    [REQUIRED]

    The data type of the vectors to be inserted into the vector index.

  • dimension (integer) –

    [REQUIRED]

    The dimensions of the vectors to be inserted into the vector index.

  • distanceMetric (string) –

    [REQUIRED]

    The distance metric to be used for similarity search.

  • metadataConfiguration (dict) –

    The metadata configuration for the vector index.

    • nonFilterableMetadataKeys (list) – [REQUIRED]

      Non-filterable metadata keys allow you to enrich vectors with additional context during storage and retrieval. Unlike default metadata keys, these keys can’t be used as query filters. Non-filterable metadata keys can be retrieved but can’t be searched, queried, or filtered. You can access non-filterable metadata keys of your vectors after finding the vectors. For more information about non-filterable metadata keys, see Vectors and Limitations and restrictions in the Amazon S3 User Guide.

      • (string) –

  • encryptionConfiguration (dict) –

    The encryption configuration for a vector index. By default, if you don’t specify, all new vectors in the vector index will use the encryption configuration of the vector bucket.

    • sseType (string) –

      The server-side encryption type to use for the encryption configuration of the vector bucket. By default, if you don’t specify, all new vectors in Amazon S3 vector buckets use server-side encryption with Amazon S3 managed keys (SSE-S3), specifically AES256.

    • kmsKeyArn (string) –

      Amazon Web Services Key Management Service (KMS) customer managed key ID to use for the encryption configuration. This parameter is allowed if and only if sseType is set to aws:kms.

      To specify the KMS key, you must use the format of the KMS key Amazon Resource Name (ARN).

      For example, specify Key ARN in the following format: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

  • tags (dict) –

    An array of user-defined tags that you would like to apply to the vector index that you are creating. A tag is a key-value pair that you apply to your resources. Tags can help you organize, track costs, and control access to resources. For more information, see Tagging for cost allocation or attribute-based access control (ABAC).

    Note

    You must have the s3vectors:TagResource permission in addition to s3vectors:CreateIndex permission to create a vector index with tags.

    • (string) –

      • (string) –

Return type:

dict

Returns:

Response Syntax

{
    'indexArn': 'string'
}

Response Structure

  • (dict) –

    • indexArn (string) –

      The Amazon Resource Name (ARN) of the newly created vector index.

Exceptions