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 .
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 .
The following operations are related to GetBucketMetadataConfiguration
:
See also: AWS API Documentation
get-bucket-metadata-configuration
--bucket <value>
[--expected-bucket-owner <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
[--debug]
[--endpoint-url <value>]
[--no-verify-ssl]
[--no-paginate]
[--output <value>]
[--query <value>]
[--profile <value>]
[--region <value>]
[--version <value>]
[--color <value>]
[--no-sign-request]
[--ca-bundle <value>]
[--cli-read-timeout <value>]
[--cli-connect-timeout <value>]
[--cli-binary-format <value>]
[--no-cli-pager]
[--cli-auto-prompt]
[--no-cli-auto-prompt]
--bucket
(string)
The general purpose bucket that corresponds to the metadata configuration that you want to retrieve.
--expected-bucket-owner
(string)
The expected owner of the general purpose bucket that you want to retrieve the metadata table configuration for.
--cli-input-json
| --cli-input-yaml
(string)
Reads arguments from the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton
. If other arguments are provided on the command line, those values will override the JSON-provided values. It is not possible to pass arbitrary binary values using a JSON-provided value as the string will be taken literally. This may not be specified along with --cli-input-yaml
.
--generate-cli-skeleton
(string)
Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value input
, prints a sample input JSON that can be used as an argument for --cli-input-json
. Similarly, if provided yaml-input
it will print a sample input YAML that can be used with --cli-input-yaml
. If provided with the value output
, it validates the command inputs and returns a sample output JSON for that command. The generated JSON skeleton is not stable between versions of the AWS CLI and there are no backwards compatibility guarantees in the JSON skeleton generated.
--debug
(boolean)
Turn on debug logging.
--endpoint-url
(string)
Override command’s default URL with the given URL.
--no-verify-ssl
(boolean)
By default, the AWS CLI uses SSL when communicating with AWS services. For each SSL connection, the AWS CLI will verify SSL certificates. This option overrides the default behavior of verifying SSL certificates.
--no-paginate
(boolean)
Disable automatic pagination. If automatic pagination is disabled, the AWS CLI will only make one call, for the first page of results.
--output
(string)
The formatting style for command output.
--query
(string)
A JMESPath query to use in filtering the response data.
--profile
(string)
Use a specific profile from your credential file.
--region
(string)
The region to use. Overrides config/env settings.
--version
(string)
Display the version of this tool.
--color
(string)
Turn on/off color output.
--no-sign-request
(boolean)
Do not sign requests. Credentials will not be loaded if this argument is provided.
--ca-bundle
(string)
The CA certificate bundle to use when verifying SSL certificates. Overrides config/env settings.
--cli-read-timeout
(int)
The maximum socket read time in seconds. If the value is set to 0, the socket read will be blocking and not timeout. The default value is 60 seconds.
--cli-connect-timeout
(int)
The maximum socket connect time in seconds. If the value is set to 0, the socket connect will be blocking and not timeout. The default value is 60 seconds.
--cli-binary-format
(string)
The formatting style to be used for binary blobs. The default format is base64. The base64 format expects binary blobs to be provided as a base64 encoded string. The raw-in-base64-out format preserves compatibility with AWS CLI V1 behavior and binary values must be passed literally. When providing contents from a file that map to a binary blob fileb://
will always be treated as binary and use the file contents directly regardless of the cli-binary-format
setting. When using file://
the file contents will need to properly formatted for the configured cli-binary-format
.
--no-cli-pager
(boolean)
Disable cli pager for output.
--cli-auto-prompt
(boolean)
Automatically prompt for CLI input parameters.
--no-cli-auto-prompt
(boolean)
Disable automatically prompt for CLI input parameters.
GetBucketMetadataConfigurationResult -> (structure)
The metadata configuration for the general purpose bucket.
MetadataConfigurationResult -> (structure)
The metadata configuration for a general purpose bucket.
DestinationResult -> (structure)
The destination settings for a metadata configuration.
TableBucketType -> (string)
The type of the table bucket where the metadata configuration is stored. Theaws
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 -> (structure)
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 -> (structure)
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 -> (structure)
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 from7
to2147483647
. For example, to retain your journal table records for one year, set this value to365
.InventoryTableConfigurationResult -> (structure)
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 -> (structure)
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.