Amazon Simple Storage Service

2024/12/03 - Amazon Simple Storage Service - 3 new api methods

Changes  Amazon S3 Metadata stores object metadata in read-only, fully managed Apache Iceberg metadata tables that you can query. You can create metadata table configurations for S3 general purpose buckets.

GetBucketMetadataTableConfiguration (new) Link ¶

Retrieves the metadata table configuration for a general purpose bucket. For more information, see Accelerating data discovery with S3 Metadata in the Amazon S3 User Guide.

Permissions

To use this operation, you must have the s3:GetBucketMetadataTableConfiguration permission. For more information, see Setting up permissions for configuring metadata tables in the Amazon S3 User Guide.

The following operations are related to GetBucketMetadataTableConfiguration:

See also: AWS API Documentation

Request Syntax

client.get_bucket_metadata_table_configuration(
    Bucket='string',
    ExpectedBucketOwner='string'
)
type Bucket:

string

param Bucket:

[REQUIRED]

The general purpose bucket that contains the metadata table configuration that you want to retrieve.

type ExpectedBucketOwner:

string

param ExpectedBucketOwner:

The expected owner of the general purpose bucket that you want to retrieve the metadata table configuration from.

rtype:

dict

returns:

Response Syntax

{
    'GetBucketMetadataTableConfigurationResult': {
        'MetadataTableConfigurationResult': {
            'S3TablesDestinationResult': {
                'TableBucketArn': 'string',
                'TableName': 'string',
                'TableArn': 'string',
                'TableNamespace': 'string'
            }
        },
        'Status': 'string',
        'Error': {
            'ErrorCode': 'string',
            'ErrorMessage': 'string'
        }
    }
}

Response Structure

  • (dict) --

    • GetBucketMetadataTableConfigurationResult (dict) --

      The metadata table configuration for the general purpose bucket.

      • MetadataTableConfigurationResult (dict) --

        The metadata table configuration for a general purpose bucket.

        • S3TablesDestinationResult (dict) --

          The destination information for the metadata table configuration. The destination table bucket must be in the same Region and Amazon Web Services account as the general purpose bucket. The specified metadata table name must be unique within the aws_s3_metadata namespace in the destination table bucket.

          • TableBucketArn (string) --

            The Amazon Resource Name (ARN) for the table bucket that's specified as the destination in the metadata table configuration. The destination table bucket must be in the same Region and Amazon Web Services account as the general purpose bucket.

          • TableName (string) --

            The name for the metadata table in your metadata table configuration. The specified metadata table name must be unique within the aws_s3_metadata namespace in the destination table bucket.

          • TableArn (string) --

            The Amazon Resource Name (ARN) for the metadata table in the metadata table configuration. The specified metadata table name must be unique within the aws_s3_metadata namespace in the destination table bucket.

          • TableNamespace (string) --

            The table bucket namespace for the metadata table in your metadata table configuration. This value is always aws_s3_metadata.

      • Status (string) --

        The status of the metadata table. The status values are:

        • CREATING - The metadata table is in the process of being created in the specified table bucket.

        • ACTIVE - The metadata table has been created successfully and records are being delivered to the table.

        • FAILED - Amazon S3 is unable to create the metadata table, or Amazon S3 is unable to deliver records. See ErrorDetails for details.

      • Error (dict) --

        If the CreateBucketMetadataTableConfiguration request succeeds, but S3 Metadata was unable to create the table, this structure contains the error code and error message.

        • ErrorCode (string) --

          If the CreateBucketMetadataTableConfiguration request succeeds, but S3 Metadata was unable to create the table, this structure contains the error code. The possible error codes and error messages are as follows:

          • AccessDeniedCreatingResources - You don't have sufficient permissions to create the required resources. Make sure that you have s3tables:CreateNamespace, s3tables:CreateTable, s3tables:GetTable and s3tables:PutTablePolicy permissions, and then try again. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.

          • AccessDeniedWritingToTable - Unable to write to the metadata table because of missing resource permissions. To fix the resource policy, Amazon S3 needs to create a new metadata table. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.

          • DestinationTableNotFound - The destination table doesn't exist. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.

          • ServerInternalError - An internal error has occurred. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.

          • TableAlreadyExists - The table that you specified already exists in the table bucket's namespace. Specify a different table name. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.

          • TableBucketNotFound - The table bucket that you specified doesn't exist in this Amazon Web Services Region and account. Create or choose a different table bucket. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.

        • ErrorMessage (string) --

          If the CreateBucketMetadataTableConfiguration request succeeds, but S3 Metadata was unable to create the table, this structure contains the error message. The possible error codes and error messages are as follows:

          • AccessDeniedCreatingResources - You don't have sufficient permissions to create the required resources. Make sure that you have s3tables:CreateNamespace, s3tables:CreateTable, s3tables:GetTable and s3tables:PutTablePolicy permissions, and then try again. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.

          • AccessDeniedWritingToTable - Unable to write to the metadata table because of missing resource permissions. To fix the resource policy, Amazon S3 needs to create a new metadata table. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.

          • DestinationTableNotFound - The destination table doesn't exist. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.

          • ServerInternalError - An internal error has occurred. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.

          • TableAlreadyExists - The table that you specified already exists in the table bucket's namespace. Specify a different table name. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.

          • TableBucketNotFound - The table bucket that you specified doesn't exist in this Amazon Web Services Region and account. Create or choose a different table bucket. To create a new metadata table, you must delete the metadata configuration for this bucket, and then create a new metadata configuration.

CreateBucketMetadataTableConfiguration (new) Link ¶

Creates a metadata table configuration for a general purpose bucket. For more information, see Accelerating data discovery with S3 Metadata in the Amazon S3 User Guide.

Permissions

To use this operation, you must have the following permissions. For more information, see Setting up permissions for configuring metadata tables in the Amazon S3 User Guide.

If you also want to integrate your table bucket with Amazon Web Services analytics services so that you can query your metadata table, you need additional permissions. For more information, see Integrating Amazon S3 Tables with Amazon Web Services analytics services in the Amazon S3 User Guide.

  • s3:CreateBucketMetadataTableConfiguration

  • s3tables:CreateNamespace

  • s3tables:GetTable

  • s3tables:CreateTable

  • s3tables:PutTablePolicy

The following operations are related to CreateBucketMetadataTableConfiguration:

See also: AWS API Documentation

Request Syntax

client.create_bucket_metadata_table_configuration(
    Bucket='string',
    ContentMD5='string',
    ChecksumAlgorithm='CRC32'|'CRC32C'|'SHA1'|'SHA256',
    MetadataTableConfiguration={
        'S3TablesDestination': {
            'TableBucketArn': 'string',
            'TableName': 'string'
        }
    },
    ExpectedBucketOwner='string'
)
type Bucket:

string

param Bucket:

[REQUIRED]

The general purpose bucket that you want to create the metadata table configuration in.

type ContentMD5:

string

param ContentMD5:

The Content-MD5 header for the metadata table configuration.

type ChecksumAlgorithm:

string

param ChecksumAlgorithm:

The checksum algorithm to use with your metadata table configuration.

type MetadataTableConfiguration:

dict

param MetadataTableConfiguration:

[REQUIRED]

The contents of your metadata table configuration.

  • S3TablesDestination (dict) -- [REQUIRED]

    The destination information for the metadata table configuration. The destination table bucket must be in the same Region and Amazon Web Services account as the general purpose bucket. The specified metadata table name must be unique within the aws_s3_metadata namespace in the destination table bucket.

    • TableBucketArn (string) -- [REQUIRED]

      The Amazon Resource Name (ARN) for the table bucket that's specified as the destination in the metadata table configuration. The destination table bucket must be in the same Region and Amazon Web Services account as the general purpose bucket.

    • TableName (string) -- [REQUIRED]

      The name for the metadata table in your metadata table configuration. The specified metadata table name must be unique within the aws_s3_metadata namespace in the destination table bucket.

type ExpectedBucketOwner:

string

param ExpectedBucketOwner:

The expected owner of the general purpose bucket that contains your metadata table configuration.

returns:

None

DeleteBucketMetadataTableConfiguration (new) Link ¶

Deletes a metadata table configuration from a general purpose bucket. For more information, see Accelerating data discovery with S3 Metadata in the Amazon S3 User Guide.

Permissions

To use this operation, you must have the s3:DeleteBucketMetadataTableConfiguration permission. For more information, see Setting up permissions for configuring metadata tables in the Amazon S3 User Guide.

The following operations are related to DeleteBucketMetadataTableConfiguration:

See also: AWS API Documentation

Request Syntax

client.delete_bucket_metadata_table_configuration(
    Bucket='string',
    ExpectedBucketOwner='string'
)
type Bucket:

string

param Bucket:

[REQUIRED]

The general purpose bucket that you want to remove the metadata table configuration from.

type ExpectedBucketOwner:

string

param ExpectedBucketOwner:

The expected bucket owner of the general purpose bucket that you want to remove the metadata table configuration from.

returns:

None