Amazon S3 Tables

2026/11/10 - Amazon S3 Tables - 2 new api methods

Changes  Adds support for server access logging for Amazon S3 table buckets with the new PutTableBucketLogging and GetTableBucketLogging APIs.

PutTableBucketLogging (new) Link ¶

Sets, updates, or removes the server access logging configuration for a table bucket. When logging is enabled, Amazon S3 delivers a record of the requests made to the table bucket and its tables to the target general purpose bucket that you specify. To disable logging, call this operation with an empty tableBucketLoggingStatus. For more information, see Server access logging for table buckets in the Amazon Simple Storage Service User Guide.

Permissions

You must have the s3tables:PutTableBucketLogging permission to use this operation.

See also: AWS API Documentation

Request Syntax

client.put_table_bucket_logging(
    tableBucketARN='string',
    tableBucketLoggingStatus={
        'loggingEnabled': {
            'targetBucket': 'string',
            'targetPrefix': 'string',
            'targetObjectKeyFormat': {
                'partitionedPrefix': {
                    'partitionDateSource': 'EventTime'|'DeliveryTime'
                }
            }
        }
    }
)
type tableBucketARN:

string

param tableBucketARN:

[REQUIRED]

The Amazon Resource Name (ARN) of the table bucket.

type tableBucketLoggingStatus:

dict

param tableBucketLoggingStatus:

[REQUIRED]

The logging status to apply to the table bucket. To disable logging, specify an empty tableBucketLoggingStatus.

  • loggingEnabled (dict) --

    Where logs for the table bucket are delivered and how the log objects are named. Must be populated to enable logging.

    • targetBucket (string) -- [REQUIRED]

      The name of the general purpose bucket that logs are delivered to. The bucket must be in the same Amazon Web Services Region and owned by the same Amazon Web Services account as the table bucket. The bucket can't use SSE-KMS or DSSE-KMS default encryption, can't have S3 Object Lock enabled, and can't have Requester Pays enabled. You can deliver logs from multiple table buckets to the same target bucket. In this case, choose a different targetPrefix for each table bucket so that you can tell their log objects apart.

    • targetPrefix (string) -- [REQUIRED]

      The prefix for the keys of the log objects that are delivered to the target bucket.

    • targetObjectKeyFormat (dict) -- [REQUIRED]

      The key format of the log objects. Log object keys are always partitioned by date.

      • partitionedPrefix (dict) -- [REQUIRED]

        Partitions log object keys by date.

        • partitionDateSource (string) -- [REQUIRED]

          The date to use for the log object key partitions. Valid values are EventTime, the time that the requests in the log were made, and DeliveryTime, the time that the log was delivered.

returns:

None

GetTableBucketLogging (new) Link ¶

Gets the server access logging configuration for a table bucket. For more information, see Server access logging for table buckets in the Amazon Simple Storage Service User Guide.

Permissions

You must have the s3tables:GetTableBucketLogging permission to use this operation.

See also: AWS API Documentation

Request Syntax

client.get_table_bucket_logging(
    tableBucketARN='string'
)
type tableBucketARN:

string

param tableBucketARN:

[REQUIRED]

The Amazon Resource Name (ARN) of the table bucket.

rtype:

dict

returns:

Response Syntax

{
    'tableBucketLoggingStatus': {
        'loggingEnabled': {
            'targetBucket': 'string',
            'targetPrefix': 'string',
            'targetObjectKeyFormat': {
                'partitionedPrefix': {
                    'partitionDateSource': 'EventTime'|'DeliveryTime'
                }
            }
        }
    }
}

Response Structure

  • (dict) --

    • tableBucketLoggingStatus (dict) --

      The logging status of the table bucket. If logging is disabled, loggingEnabled is absent.

      • loggingEnabled (dict) --

        Where logs for the table bucket are delivered and how the log objects are named. Must be populated to enable logging.

        • targetBucket (string) --

          The name of the general purpose bucket that logs are delivered to. The bucket must be in the same Amazon Web Services Region and owned by the same Amazon Web Services account as the table bucket. The bucket can't use SSE-KMS or DSSE-KMS default encryption, can't have S3 Object Lock enabled, and can't have Requester Pays enabled. You can deliver logs from multiple table buckets to the same target bucket. In this case, choose a different targetPrefix for each table bucket so that you can tell their log objects apart.

        • targetPrefix (string) --

          The prefix for the keys of the log objects that are delivered to the target bucket.

        • targetObjectKeyFormat (dict) --

          The key format of the log objects. Log object keys are always partitioned by date.

          • partitionedPrefix (dict) --

            Partitions log object keys by date.

            • partitionDateSource (string) --

              The date to use for the log object key partitions. Valid values are EventTime, the time that the requests in the log were made, and DeliveryTime, the time that the log was delivered.