Amazon S3 Vectors

2025/12/02 - Amazon S3 Vectors - 3 new3 updated api methods

Changes  Amazon S3 Vectors provides cost-effective, elastic, and durable vector storage for queries based on semantic meaning and similarity.

ListTagsForResource (new) Link ¶

Lists all of the tags applied to a specified Amazon S3 Vectors resource. Each tag is a label consisting of a key and value pair. Tags can help you organize, track costs for, and control access to resources.

For vector buckets and vector indexes, you must have the s3vectors:ListTagsForResource permission to use this operation.

See also: AWS API Documentation

Request Syntax

client.list_tags_for_resource(
    resourceArn='string'
)
type resourceArn:

string

param resourceArn:

[REQUIRED]

The Amazon Resource Name (ARN) of the Amazon S3 Vectors resource that you want to list tags for. The tagged resource can be a vector bucket or a vector index.

rtype:

dict

returns:

Response Syntax

{
    'tags': {
        'string': 'string'
    }
}

Response Structure

TagResource (new) Link ¶

Applies one or more user-defined tags to an Amazon S3 Vectors resource or updates existing tags. Each tag is a label consisting of a key and value pair. Tags can help you organize, track costs for, and control access to your resources. You can add up to 50 tags for each resource.

For vector buckets and vector indexes, you must have the s3vectors:TagResource permission to use this operation.

See also: AWS API Documentation

Request Syntax

client.tag_resource(
    resourceArn='string',
    tags={
        'string': 'string'
    }
)
type resourceArn:

string

param resourceArn:

[REQUIRED]

The Amazon Resource Name (ARN) of the Amazon S3 Vectors resource that you're applying tags to. The tagged resource can be a vector bucket or a vector index.

type tags:

dict

param tags:

[REQUIRED]

The user-defined tag that you want to add to the specified S3 Vectors resource. For more information, see Tagging for cost allocation or attribute-based access control (ABAC).

  • (string) --

    • (string) --

rtype:

dict

returns:

Response Syntax

{}

Response Structure

  • (dict) --

UntagResource (new) Link ¶

Removes the specified user-defined tags from an Amazon S3 Vectors resource. You can pass one or more tag keys.

For vector buckets and vector indexes, you must have the s3vectors:UntagResource permission to use this operation.

See also: AWS API Documentation

Request Syntax

client.untag_resource(
    resourceArn='string',
    tagKeys=[
        'string',
    ]
)
type resourceArn:

string

param resourceArn:

[REQUIRED]

The Amazon Resource Name (ARN) of the Amazon S3 Vectors resource that you're removing tags from. The tagged resource can be a vector bucket or a vector index.

type tagKeys:

list

param tagKeys:

[REQUIRED]

The array of tag keys that you're removing from the S3 Vectors resource. For more information, see Tagging for cost allocation or attribute-based access control (ABAC).

  • (string) --

rtype:

dict

returns:

Response Syntax

{}

Response Structure

  • (dict) --

CreateIndex (updated) Link ¶
Changes (request)
{'encryptionConfiguration': {'kmsKeyArn': 'string',
                             'sseType': 'AES256 | aws:kms'},
 'tags': {'string': 'string'}}

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

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'
    }
)
type vectorBucketName:

string

param vectorBucketName:

The name of the vector bucket to create the vector index in.

type vectorBucketArn:

string

param vectorBucketArn:

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

type indexName:

string

param indexName:

[REQUIRED]

The name of the vector index to create.

type dataType:

string

param dataType:

[REQUIRED]

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

type dimension:

integer

param dimension:

[REQUIRED]

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

type distanceMetric:

string

param distanceMetric:

[REQUIRED]

The distance metric to be used for similarity search.

type metadataConfiguration:

dict

param metadataConfiguration:

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

type encryptionConfiguration:

dict

param encryptionConfiguration:

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

type tags:

dict

param tags:

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

  • (string) --

    • (string) --

rtype:

dict

returns:

Response Syntax

{
    'indexArn': 'string'
}

Response Structure

  • (dict) --

    • indexArn (string) --

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

CreateVectorBucket (updated) Link ¶
Changes (request)
{'tags': {'string': 'string'}}

Creates a vector bucket in the Amazon Web Services Region that you want your bucket to be in.

Permissions

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

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

See also: AWS API Documentation

Request Syntax

client.create_vector_bucket(
    vectorBucketName='string',
    encryptionConfiguration={
        'sseType': 'AES256'|'aws:kms',
        'kmsKeyArn': 'string'
    },
    tags={
        'string': 'string'
    }
)
type vectorBucketName:

string

param vectorBucketName:

[REQUIRED]

The name of the vector bucket to create.

type encryptionConfiguration:

dict

param encryptionConfiguration:

The encryption configuration for 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.

  • 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

type tags:

dict

param tags:

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

  • (string) --

    • (string) --

rtype:

dict

returns:

Response Syntax

{
    'vectorBucketArn': 'string'
}

Response Structure

  • (dict) --

    • vectorBucketArn (string) --

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

GetIndex (updated) Link ¶
Changes (response)
{'index': {'encryptionConfiguration': {'kmsKeyArn': 'string',
                                       'sseType': 'AES256 | aws:kms'}}}

Returns vector index attributes. To specify the vector index, you can either use both the vector bucket name and the vector index name, or use the vector index Amazon Resource Name (ARN).

Permissions

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

See also: AWS API Documentation

Request Syntax

client.get_index(
    vectorBucketName='string',
    indexName='string',
    indexArn='string'
)
type vectorBucketName:

string

param vectorBucketName:

The name of the vector bucket that contains the vector index.

type indexName:

string

param indexName:

The name of the vector index.

type indexArn:

string

param indexArn:

The ARN of the vector index.

rtype:

dict

returns:

Response Syntax

{
    'index': {
        'vectorBucketName': 'string',
        'indexName': 'string',
        'indexArn': 'string',
        'creationTime': datetime(2015, 1, 1),
        'dataType': 'float32',
        'dimension': 123,
        'distanceMetric': 'euclidean'|'cosine',
        'metadataConfiguration': {
            'nonFilterableMetadataKeys': [
                'string',
            ]
        },
        'encryptionConfiguration': {
            'sseType': 'AES256'|'aws:kms',
            'kmsKeyArn': 'string'
        }
    }
}

Response Structure

  • (dict) --

    • index (dict) --

      The attributes of the vector index.

      • vectorBucketName (string) --

        The name of the vector bucket that contains the vector index.

      • indexName (string) --

        The name of the vector index.

      • indexArn (string) --

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

      • creationTime (datetime) --

        Date and time when the vector index was created.

      • dataType (string) --

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

      • dimension (integer) --

        The number of values in the vectors that are inserted into the vector index.

      • distanceMetric (string) --

        The distance metric to be used for similarity search.

      • metadataConfiguration (dict) --

        The metadata configuration for the vector index.

        • nonFilterableMetadataKeys (list) --

          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