S3 / Client / update_bucket_metadata_annotation_table_configuration

update_bucket_metadata_annotation_table_configuration

S3.Client.update_bucket_metadata_annotation_table_configuration(**kwargs)

Updates the annotation table configuration for an Amazon S3 bucket’s metadata configuration. Use this operation to enable or disable the annotation table, or to update its associated IAM role.

An annotation table is a queryable Iceberg table that contains records of all annotations attached to objects in the bucket. To use this operation, the bucket must have an existing Amazon S3 Metadata configuration.

To use this operation, you must have the s3:UpdateBucketMetadataAnnotationTableConfiguration permission. If you are specifying or changing the IAM role, you must also have iam:PassRole permission for the role.

The IAM role must have a trust policy that allows the Amazon S3 metadata service to assume it, and a permissions policy that grants the actions needed to read annotations from your bucket. The following examples show a trust policy and a permissions policy that you can adapt for your bucket and account.

The following operations are related to UpdateBucketMetadataAnnotationTableConfiguration:

See also: AWS API Documentation

Request Syntax

response = client.update_bucket_metadata_annotation_table_configuration(
    Bucket='string',
    ContentMD5='string',
    ChecksumAlgorithm='CRC32'|'CRC32C'|'SHA1'|'SHA256'|'CRC64NVME'|'SHA512'|'MD5'|'XXHASH64'|'XXHASH3'|'XXHASH128',
    AnnotationTableConfiguration={
        'ConfigurationState': 'ENABLED'|'DISABLED',
        'EncryptionConfiguration': {
            'SseAlgorithm': 'aws:kms'|'AES256',
            'KmsKeyArn': 'string'
        },
        'Role': 'string'
    },
    ExpectedBucketOwner='string'
)
Parameters:
  • Bucket (string) –

    [REQUIRED]

    The name of the bucket whose annotation table configuration to update.

  • ContentMD5 (string) – Base64-encoded MD5 digest of the message body.

  • ChecksumAlgorithm (string) – Checksum algorithm for the request payload.

  • AnnotationTableConfiguration (dict) –

    [REQUIRED]

    The annotation table configuration updates to apply.

    • ConfigurationState (string) – [REQUIRED]

      The new configuration state to apply.

    • EncryptionConfiguration (dict) –

      The encryption settings for an S3 Metadata journal table or inventory table configuration.

      • SseAlgorithm (string) – [REQUIRED]

        The encryption type specified for a metadata table. To specify server-side encryption with Key Management Service (KMS) keys (SSE-KMS), use the aws:kms value. To specify server-side encryption with Amazon S3 managed keys (SSE-S3), use the AES256 value.

      • KmsKeyArn (string) –

        If server-side encryption with Key Management Service (KMS) keys (SSE-KMS) is specified, you must also specify the KMS key Amazon Resource Name (ARN). You must specify a customer-managed KMS key that’s located in the same Region as the general purpose bucket that corresponds to the metadata table configuration.

    • Role (string) –

      The new IAM role ARN to apply.

  • ExpectedBucketOwner (string) – The account ID of the expected bucket owner.

Returns:

None