S3 / Client / get_bucket_metadata_configuration

get_bucket_metadata_configuration

S3.Client.get_bucket_metadata_configuration(**kwargs)

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

Note

You can use the V2 GetBucketMetadataConfiguration API operation with V1 or V2 metadata configurations. However, if you try to use the V1 GetBucketMetadataTableConfiguration API operation with V2 configurations, you will receive an HTTP 405 Method Not Allowed error.

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.

Note

The IAM policy action name is the same for the V1 and V2 API operations.

The following operations are related to GetBucketMetadataConfiguration:

See also: AWS API Documentation

Request Syntax

response = client.get_bucket_metadata_configuration(
    Bucket='string',
    ExpectedBucketOwner='string'
)
Parameters:
  • Bucket (string) –

    [REQUIRED]

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

  • ExpectedBucketOwner (string) – The expected owner of the general purpose bucket that you want to retrieve the metadata table configuration for.

Return type:

dict

Returns:

Response Syntax

{
    'GetBucketMetadataConfigurationResult': {
        'MetadataConfigurationResult': {
            'DestinationResult': {
                'TableBucketType': 'aws'|'customer',
                'TableBucketArn': 'string',
                'TableNamespace': 'string'
            },
            'JournalTableConfigurationResult': {
                'TableStatus': 'string',
                'Error': {
                    'ErrorCode': 'string',
                    'ErrorMessage': 'string'
                },
                'TableName': 'string',
                'TableArn': 'string',
                'RecordExpiration': {
                    'Expiration': 'ENABLED'|'DISABLED',
                    'Days': 123
                }
            },
            'InventoryTableConfigurationResult': {
                'ConfigurationState': 'ENABLED'|'DISABLED',
                'TableStatus': 'string',
                'Error': {
                    'ErrorCode': 'string',
                    'ErrorMessage': 'string'
                },
                'TableName': 'string',
                'TableArn': 'string'
            }
        }
    }
}

Response Structure

  • (dict) –

    • GetBucketMetadataConfigurationResult (dict) –

      The metadata configuration for the general purpose bucket.

      • MetadataConfigurationResult (dict) –

        The metadata configuration for a general purpose bucket.

        • DestinationResult (dict) –

          The destination settings for a metadata configuration.

          • TableBucketType (string) –

            The type of the table bucket where the metadata configuration is stored. The aws value indicates an Amazon Web Services managed table bucket, and the customer value indicates a customer-managed table bucket. V2 metadata configurations are stored in Amazon Web Services managed table buckets, and V1 metadata configurations are stored in customer-managed table buckets.

          • TableBucketArn (string) –

            The Amazon Resource Name (ARN) of the table bucket where the metadata configuration is stored.

          • TableNamespace (string) –

            The namespace in the table bucket where the metadata tables for a metadata configuration are stored.

        • JournalTableConfigurationResult (dict) –

          The journal table configuration for a metadata configuration.

          • TableStatus (string) –

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

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

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

            • FAILED - Amazon S3 is unable to create the journal table, or Amazon S3 is unable to deliver records.

          • Error (dict) –

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

            Note

            If you created your S3 Metadata configuration before July 15, 2025, we recommend that you delete and re-create your configuration by using CreateBucketMetadataConfiguration so that you can expire journal table records and create a live inventory table.

            • ErrorCode (string) –

              If the V1 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.

              If the V2 CreateBucketMetadataConfiguration 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:CreateTableBucket, s3tables:CreateNamespace, s3tables:CreateTable, s3tables:GetTable, s3tables:PutTablePolicy, kms:DescribeKey, and s3tables:PutTableEncryption permissions. Additionally, ensure that the KMS key used to encrypt the table still exists, is active and has a resource policy granting access to the S3 service principals ‘ maintenance.s3tables.amazonaws.com’ and ‘ metadata.s3.amazonaws.com’. 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.

              • JournalTableAlreadyExists - A journal table already exists in the Amazon Web Services managed table bucket’s namespace. Delete the journal table, 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.

              • InventoryTableAlreadyExists - An inventory table already exists in the Amazon Web Services managed table bucket’s namespace. Delete the inventory table, 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.

              • JournalTableNotAvailable - The journal table that the inventory table relies on has a FAILED status. An inventory table requires a journal table with an ACTIVE status. To create a new journal or inventory table, you must delete the metadata configuration for this bucket, along with any journal or inventory tables, and then create a new metadata configuration.

              • NoSuchBucket - The specified general purpose bucket does not exist.

            • ErrorMessage (string) –

              If the V1 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.

              If the V2 CreateBucketMetadataConfiguration 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:CreateTableBucket, s3tables:CreateNamespace, s3tables:CreateTable, s3tables:GetTable, s3tables:PutTablePolicy, kms:DescribeKey, and s3tables:PutTableEncryption permissions. Additionally, ensure that the KMS key used to encrypt the table still exists, is active and has a resource policy granting access to the S3 service principals ‘ maintenance.s3tables.amazonaws.com’ and ‘ metadata.s3.amazonaws.com’. 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.

              • JournalTableAlreadyExists - A journal table already exists in the Amazon Web Services managed table bucket’s namespace. Delete the journal table, 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.

              • InventoryTableAlreadyExists - An inventory table already exists in the Amazon Web Services managed table bucket’s namespace. Delete the inventory table, 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.

              • JournalTableNotAvailable - The journal table that the inventory table relies on has a FAILED status. An inventory table requires a journal table with an ACTIVE status. To create a new journal or inventory table, you must delete the metadata configuration for this bucket, along with any journal or inventory tables, and then create a new metadata configuration.

              • NoSuchBucket - The specified general purpose bucket does not exist.

          • TableName (string) –

            The name of the journal table.

          • TableArn (string) –

            The Amazon Resource Name (ARN) for the journal table.

          • RecordExpiration (dict) –

            The journal table record expiration settings for the journal table.

            • Expiration (string) –

              Specifies whether journal table record expiration is enabled or disabled.

            • Days (integer) –

              If you enable journal table record expiration, you can set the number of days to retain your journal table records. Journal table records must be retained for a minimum of 7 days. To set this value, specify any whole number from 7 to 2147483647. For example, to retain your journal table records for one year, set this value to 365.

        • InventoryTableConfigurationResult (dict) –

          The inventory table configuration for a metadata configuration.

          • ConfigurationState (string) –

            The configuration state of the inventory table, indicating whether the inventory table is enabled or disabled.

          • TableStatus (string) –

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

            • CREATING - The inventory table is in the process of being created in the specified Amazon Web Services managed table bucket.

            • BACKFILLING - The inventory table is in the process of being backfilled. When you enable the inventory table for your metadata configuration, the table goes through a process known as backfilling, during which Amazon S3 scans your general purpose bucket to retrieve the initial metadata for all objects in the bucket. Depending on the number of objects in your bucket, this process can take several hours. When the backfilling process is finished, the status of your inventory table changes from BACKFILLING to ACTIVE. After backfilling is completed, updates to your objects are reflected in the inventory table within one hour.

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

            • FAILED - Amazon S3 is unable to create the inventory table, or Amazon S3 is unable to deliver records.

          • Error (dict) –

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

            Note

            If you created your S3 Metadata configuration before July 15, 2025, we recommend that you delete and re-create your configuration by using CreateBucketMetadataConfiguration so that you can expire journal table records and create a live inventory table.

            • ErrorCode (string) –

              If the V1 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.

              If the V2 CreateBucketMetadataConfiguration 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:CreateTableBucket, s3tables:CreateNamespace, s3tables:CreateTable, s3tables:GetTable, s3tables:PutTablePolicy, kms:DescribeKey, and s3tables:PutTableEncryption permissions. Additionally, ensure that the KMS key used to encrypt the table still exists, is active and has a resource policy granting access to the S3 service principals ‘ maintenance.s3tables.amazonaws.com’ and ‘ metadata.s3.amazonaws.com’. 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.

              • JournalTableAlreadyExists - A journal table already exists in the Amazon Web Services managed table bucket’s namespace. Delete the journal table, 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.

              • InventoryTableAlreadyExists - An inventory table already exists in the Amazon Web Services managed table bucket’s namespace. Delete the inventory table, 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.

              • JournalTableNotAvailable - The journal table that the inventory table relies on has a FAILED status. An inventory table requires a journal table with an ACTIVE status. To create a new journal or inventory table, you must delete the metadata configuration for this bucket, along with any journal or inventory tables, and then create a new metadata configuration.

              • NoSuchBucket - The specified general purpose bucket does not exist.

            • ErrorMessage (string) –

              If the V1 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.

              If the V2 CreateBucketMetadataConfiguration 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:CreateTableBucket, s3tables:CreateNamespace, s3tables:CreateTable, s3tables:GetTable, s3tables:PutTablePolicy, kms:DescribeKey, and s3tables:PutTableEncryption permissions. Additionally, ensure that the KMS key used to encrypt the table still exists, is active and has a resource policy granting access to the S3 service principals ‘ maintenance.s3tables.amazonaws.com’ and ‘ metadata.s3.amazonaws.com’. 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.

              • JournalTableAlreadyExists - A journal table already exists in the Amazon Web Services managed table bucket’s namespace. Delete the journal table, 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.

              • InventoryTableAlreadyExists - An inventory table already exists in the Amazon Web Services managed table bucket’s namespace. Delete the inventory table, 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.

              • JournalTableNotAvailable - The journal table that the inventory table relies on has a FAILED status. An inventory table requires a journal table with an ACTIVE status. To create a new journal or inventory table, you must delete the metadata configuration for this bucket, along with any journal or inventory tables, and then create a new metadata configuration.

              • NoSuchBucket - The specified general purpose bucket does not exist.

          • TableName (string) –

            The name of the inventory table.

          • TableArn (string) –

            The Amazon Resource Name (ARN) for the inventory table.