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 V1GetBucketMetadataTableConfiguration
API operation with V2 configurations, you will receive an HTTP405 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 thecustomer
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 V2CreateBucketMetadataConfiguration
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 haves3tables:CreateNamespace
,s3tables:CreateTable
,s3tables:GetTable
ands3tables: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 haves3tables:CreateTableBucket
,s3tables:CreateNamespace
,s3tables:CreateTable
,s3tables:GetTable
,s3tables:PutTablePolicy
,kms:DescribeKey
, ands3tables: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 aFAILED
status. An inventory table requires a journal table with anACTIVE
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 haves3tables:CreateNamespace
,s3tables:CreateTable
,s3tables:GetTable
ands3tables: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 haves3tables:CreateTableBucket
,s3tables:CreateNamespace
,s3tables:CreateTable
,s3tables:GetTable
,s3tables:PutTablePolicy
,kms:DescribeKey
, ands3tables: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 aFAILED
status. An inventory table requires a journal table with anACTIVE
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
to2147483647
. For example, to retain your journal table records for one year, set this value to365
.
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 fromBACKFILLING
toACTIVE
. 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 V2CreateBucketMetadataConfiguration
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 haves3tables:CreateNamespace
,s3tables:CreateTable
,s3tables:GetTable
ands3tables: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 haves3tables:CreateTableBucket
,s3tables:CreateNamespace
,s3tables:CreateTable
,s3tables:GetTable
,s3tables:PutTablePolicy
,kms:DescribeKey
, ands3tables: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 aFAILED
status. An inventory table requires a journal table with anACTIVE
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 haves3tables:CreateNamespace
,s3tables:CreateTable
,s3tables:GetTable
ands3tables: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 haves3tables:CreateTableBucket
,s3tables:CreateNamespace
,s3tables:CreateTable
,s3tables:GetTable
,s3tables:PutTablePolicy
,kms:DescribeKey
, ands3tables: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 aFAILED
status. An inventory table requires a journal table with anACTIVE
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.