SDK for PHP V3

Client: Aws\S3Tables\S3TablesClient
Service ID: s3tables
Version: 2018-05-10

This page describes the parameters and results for the operations of the Amazon S3 Tables (2018-05-10), and shows how to use the Aws\S3Tables\S3TablesClient object to call the described operations. This documentation is specific to the 2018-05-10 API version of the service.

Operation Summary

Each of the following operations can be created from a client using $client->getCommand('CommandName'), where "CommandName" is the name of one of the following operations. Note: a command is a value that encapsulates an operation and the parameters used to create an HTTP request.

You can also create and send a command immediately using the magic methods available on a client object: $client->commandName(/* parameters */). You can send the command asynchronously (returning a promise) by appending the word "Async" to the operation name: $client->commandNameAsync(/* parameters */).

CreateNamespace ( array $params = [] )
Creates a namespace.
CreateTable ( array $params = [] )
Creates a new table associated with the given namespace in a table bucket.
CreateTableBucket ( array $params = [] )
Creates a table bucket.
DeleteNamespace ( array $params = [] )
Deletes a namespace.
DeleteTable ( array $params = [] )
Deletes a table.
DeleteTableBucket ( array $params = [] )
Deletes a table bucket.
DeleteTableBucketEncryption ( array $params = [] )
Deletes the encryption configuration for a table bucket.
DeleteTableBucketMetricsConfiguration ( array $params = [] )
Deletes the metrics configuration for a table bucket.
DeleteTableBucketPolicy ( array $params = [] )
Deletes a table bucket policy.
DeleteTableBucketReplication ( array $params = [] )
Deletes the replication configuration for a table bucket.
DeleteTablePolicy ( array $params = [] )
Deletes a table policy.
DeleteTableReplication ( array $params = [] )
Deletes the replication configuration for a specific table.
GetNamespace ( array $params = [] )
Gets details about a namespace.
GetTable ( array $params = [] )
Gets details about a table.
GetTableBucket ( array $params = [] )
Gets details on a table bucket.
GetTableBucketEncryption ( array $params = [] )
Gets the encryption configuration for a table bucket.
GetTableBucketMaintenanceConfiguration ( array $params = [] )
Gets details about a maintenance configuration for a given table bucket.
GetTableBucketMetricsConfiguration ( array $params = [] )
Gets the metrics configuration for a table bucket.
GetTableBucketPolicy ( array $params = [] )
Gets details about a table bucket policy.
GetTableBucketReplication ( array $params = [] )
Retrieves the replication configuration for a table bucket.
GetTableBucketStorageClass ( array $params = [] )
Retrieves the storage class configuration for a specific table.
GetTableEncryption ( array $params = [] )
Gets the encryption configuration for a table.
GetTableMaintenanceConfiguration ( array $params = [] )
Gets details about the maintenance configuration of a table.
GetTableMaintenanceJobStatus ( array $params = [] )
Gets the status of a maintenance job for a table.
GetTableMetadataLocation ( array $params = [] )
Gets the location of the table metadata.
GetTablePolicy ( array $params = [] )
Gets details about a table policy.
GetTableRecordExpirationConfiguration ( array $params = [] )
Retrieves the expiration configuration settings for records in a table, and the status of the configuration.
GetTableRecordExpirationJobStatus ( array $params = [] )
Retrieves the status, metrics, and details of the latest record expiration job for a table.
GetTableReplication ( array $params = [] )
Retrieves the replication configuration for a specific table.
GetTableReplicationStatus ( array $params = [] )
Retrieves the replication status for a table, including the status of replication to each destination.
GetTableStorageClass ( array $params = [] )
Retrieves the storage class configuration for a specific table.
ListNamespaces ( array $params = [] )
Lists the namespaces within a table bucket.
ListTableBuckets ( array $params = [] )
Lists table buckets for your account.
ListTables ( array $params = [] )
List tables in the given table bucket.
ListTagsForResource ( array $params = [] )
Lists all of the tags applied to a specified Amazon S3 Tables resource.
PutTableBucketEncryption ( array $params = [] )
Sets the encryption configuration for a table bucket.
PutTableBucketMaintenanceConfiguration ( array $params = [] )
Creates a new maintenance configuration or replaces an existing maintenance configuration for a table bucket.
PutTableBucketMetricsConfiguration ( array $params = [] )
Sets the metrics configuration for a table bucket.
PutTableBucketPolicy ( array $params = [] )
Creates a new table bucket policy or replaces an existing table bucket policy for a table bucket.
PutTableBucketReplication ( array $params = [] )
Creates or updates the replication configuration for a table bucket.
PutTableBucketStorageClass ( array $params = [] )
Sets or updates the storage class configuration for a table bucket.
PutTableMaintenanceConfiguration ( array $params = [] )
Creates a new maintenance configuration or replaces an existing maintenance configuration for a table.
PutTablePolicy ( array $params = [] )
Creates a new table policy or replaces an existing table policy for a table.
PutTableRecordExpirationConfiguration ( array $params = [] )
Creates or updates the expiration configuration settings for records in a table, including the status of the configuration.
PutTableReplication ( array $params = [] )
Creates or updates the replication configuration for a specific table.
RenameTable ( array $params = [] )
Renames a table or a namespace.
TagResource ( array $params = [] )
Applies one or more user-defined tags to an Amazon S3 Tables resource or updates existing tags.
UntagResource ( array $params = [] )
Removes the specified user-defined tags from an Amazon S3 Tables resource.
UpdateTableMetadataLocation ( array $params = [] )
Updates the metadata location for a table.

Paginators

Paginators handle automatically iterating over paginated API results. Paginators are associated with specific API operations, and they accept the parameters that the corresponding API operation accepts. You can get a paginator from a client class using getPaginator($paginatorName, $operationParameters). This client supports the following paginators:

ListNamespaces
ListTableBuckets
ListTables

Operations

CreateNamespace

$result = $client->createNamespace([/* ... */]);
$promise = $client->createNamespaceAsync([/* ... */]);

Creates a namespace. A namespace is a logical grouping of tables within your table bucket, which you can use to organize tables. For more information, see Create a namespace in the Amazon Simple Storage Service User Guide.

Permissions

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

Parameter Syntax

$result = $client->createNamespace([
    'namespace' => ['<string>', ...], // REQUIRED
    'tableBucketARN' => '<string>', // REQUIRED
]);

Parameter Details

Members
namespace
Required: Yes
Type: Array of strings

A name for the namespace.

tableBucketARN
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the table bucket to create the namespace in.

Result Syntax

[
    'namespace' => ['<string>', ...],
    'tableBucketARN' => '<string>',
]

Result Details

Members
namespace
Required: Yes
Type: Array of strings

The name of the namespace.

tableBucketARN
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the table bucket the namespace was created in.

Errors

InternalServerErrorException:

The request failed due to an internal server error.

ForbiddenException:

The caller isn't authorized to make the request.

NotFoundException:

The request was rejected because the specified resource could not be found.

TooManyRequestsException:

The limit on the number of requests per second was exceeded.

ConflictException:

The request failed because there is a conflict with a previous write. You can retry the request.

BadRequestException:

The request is invalid or malformed.

CreateTable

$result = $client->createTable([/* ... */]);
$promise = $client->createTableAsync([/* ... */]);

Creates a new table associated with the given namespace in a table bucket. For more information, see Creating an Amazon S3 table in the Amazon Simple Storage Service User Guide.

Permissions
  • You must have the s3tables:CreateTable permission to use this operation.

  • If you use this operation with the optional metadata request parameter you must have the s3tables:PutTableData permission.

  • If you use this operation with the optional encryptionConfiguration request parameter you must have the s3tables:PutTableEncryption permission.

  • If you use this operation with the storageClassConfiguration request parameter, you must have the s3tables:PutTableStorageClass permission.

  • To create a table with tags, you must have the s3tables:TagResource permission in addition to s3tables:CreateTable permission.

Additionally, If you choose SSE-KMS encryption you must grant the S3 Tables maintenance principal access to your KMS key. For more information, see Permissions requirements for S3 Tables SSE-KMS encryption.

Parameter Syntax

$result = $client->createTable([
    'encryptionConfiguration' => [
        'kmsKeyArn' => '<string>',
        'sseAlgorithm' => 'AES256|aws:kms', // REQUIRED
    ],
    'format' => 'ICEBERG', // REQUIRED
    'metadata' => [
        'iceberg' => [
            'properties' => ['<string>', ...],
            'schema' => [ // REQUIRED
                'fields' => [ // REQUIRED
                    [
                        'name' => '<string>', // REQUIRED
                        'required' => true || false,
                        'type' => '<string>', // REQUIRED
                    ],
                    // ...
                ],
            ],
        ],
    ],
    'name' => '<string>', // REQUIRED
    'namespace' => '<string>', // REQUIRED
    'storageClassConfiguration' => [
        'storageClass' => 'STANDARD|INTELLIGENT_TIERING', // REQUIRED
    ],
    'tableBucketARN' => '<string>', // REQUIRED
    'tags' => ['<string>', ...],
]);

Parameter Details

Members
encryptionConfiguration
Type: EncryptionConfiguration structure

The encryption configuration to use for the table. This configuration specifies the encryption algorithm and, if using SSE-KMS, the KMS key to use for encrypting the table.

If you choose SSE-KMS encryption you must grant the S3 Tables maintenance principal access to your KMS key. For more information, see Permissions requirements for S3 Tables SSE-KMS encryption.

format
Required: Yes
Type: string

The format for the table.

metadata
Type: TableMetadata structure

The metadata for the table.

name
Required: Yes
Type: string

The name for the table.

namespace
Required: Yes
Type: string

The namespace to associated with the table.

storageClassConfiguration
Type: StorageClassConfiguration structure

The storage class configuration for the table. If not specified, the table inherits the storage class configuration from its table bucket. Specify this parameter to override the bucket's default storage class for this table.

tableBucketARN
Required: Yes
Type: string

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

tags
Type: Associative array of custom strings keys (TagKey) to strings

A map of user-defined tags that you would like to apply to the table that you are creating. A tag is a key-value pair that you apply to your resources. Tags can help you organize, track costs for, and control access to resources. For more information, see Tagging for cost allocation or attribute-based access control (ABAC).

You must have the s3tables:TagResource permission in addition to s3tables:CreateTable permission to create a table with tags.

Result Syntax

[
    'tableARN' => '<string>',
    'versionToken' => '<string>',
]

Result Details

Members
tableARN
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the table.

versionToken
Required: Yes
Type: string

The version token of the table.

Errors

InternalServerErrorException:

The request failed due to an internal server error.

ForbiddenException:

The caller isn't authorized to make the request.

NotFoundException:

The request was rejected because the specified resource could not be found.

TooManyRequestsException:

The limit on the number of requests per second was exceeded.

ConflictException:

The request failed because there is a conflict with a previous write. You can retry the request.

BadRequestException:

The request is invalid or malformed.

CreateTableBucket

$result = $client->createTableBucket([/* ... */]);
$promise = $client->createTableBucketAsync([/* ... */]);

Creates a table bucket. For more information, see Creating a table bucket in the Amazon Simple Storage Service User Guide.

Permissions
  • You must have the s3tables:CreateTableBucket permission to use this operation.

  • If you use this operation with the optional encryptionConfiguration parameter you must have the s3tables:PutTableBucketEncryption permission.

  • If you use this operation with the storageClassConfiguration request parameter, you must have the s3tables:PutTableBucketStorageClass permission.

  • To create a table bucket with tags, you must have the s3tables:TagResource permission in addition to s3tables:CreateTableBucket permission.

Parameter Syntax

$result = $client->createTableBucket([
    'encryptionConfiguration' => [
        'kmsKeyArn' => '<string>',
        'sseAlgorithm' => 'AES256|aws:kms', // REQUIRED
    ],
    'name' => '<string>', // REQUIRED
    'storageClassConfiguration' => [
        'storageClass' => 'STANDARD|INTELLIGENT_TIERING', // REQUIRED
    ],
    'tags' => ['<string>', ...],
]);

Parameter Details

Members
encryptionConfiguration
Type: EncryptionConfiguration structure

The encryption configuration to use for the table bucket. This configuration specifies the default encryption settings that will be applied to all tables created in this bucket unless overridden at the table level. The configuration includes the encryption algorithm and, if using SSE-KMS, the KMS key to use.

name
Required: Yes
Type: string

The name for the table bucket.

storageClassConfiguration
Type: StorageClassConfiguration structure

The default storage class configuration for the table bucket. This configuration will be applied to all new tables created in this bucket unless overridden at the table level. If not specified, the service default storage class will be used.

tags
Type: Associative array of custom strings keys (TagKey) to strings

A map of user-defined tags that you would like to apply to the table bucket that you are creating. A tag is a key-value pair that you apply to your resources. Tags can help you organize and control access to resources. For more information, see Tagging for cost allocation or attribute-based access control (ABAC).

You must have the s3tables:TagResource permission in addition to s3tables:CreateTableBucket permisson to create a table bucket with tags.

Result Syntax

[
    'arn' => '<string>',
]

Result Details

Members
arn
Required: Yes
Type: string

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

Errors

InternalServerErrorException:

The request failed due to an internal server error.

ForbiddenException:

The caller isn't authorized to make the request.

NotFoundException:

The request was rejected because the specified resource could not be found.

TooManyRequestsException:

The limit on the number of requests per second was exceeded.

ConflictException:

The request failed because there is a conflict with a previous write. You can retry the request.

BadRequestException:

The request is invalid or malformed.

DeleteNamespace

$result = $client->deleteNamespace([/* ... */]);
$promise = $client->deleteNamespaceAsync([/* ... */]);

Deletes a namespace. For more information, see Delete a namespace in the Amazon Simple Storage Service User Guide.

Permissions

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

Parameter Syntax

$result = $client->deleteNamespace([
    'namespace' => '<string>', // REQUIRED
    'tableBucketARN' => '<string>', // REQUIRED
]);

Parameter Details

Members
namespace
Required: Yes
Type: string

The name of the namespace.

tableBucketARN
Required: Yes
Type: string

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

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InternalServerErrorException:

The request failed due to an internal server error.

ForbiddenException:

The caller isn't authorized to make the request.

NotFoundException:

The request was rejected because the specified resource could not be found.

TooManyRequestsException:

The limit on the number of requests per second was exceeded.

ConflictException:

The request failed because there is a conflict with a previous write. You can retry the request.

BadRequestException:

The request is invalid or malformed.

DeleteTable

$result = $client->deleteTable([/* ... */]);
$promise = $client->deleteTableAsync([/* ... */]);

Deletes a table. For more information, see Deleting an Amazon S3 table in the Amazon Simple Storage Service User Guide.

Permissions

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

Parameter Syntax

$result = $client->deleteTable([
    'name' => '<string>', // REQUIRED
    'namespace' => '<string>', // REQUIRED
    'tableBucketARN' => '<string>', // REQUIRED
    'versionToken' => '<string>',
]);

Parameter Details

Members
name
Required: Yes
Type: string

The name of the table.

namespace
Required: Yes
Type: string

The namespace associated with the table.

tableBucketARN
Required: Yes
Type: string

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

versionToken
Type: string

The version token of the table.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InternalServerErrorException:

The request failed due to an internal server error.

ForbiddenException:

The caller isn't authorized to make the request.

NotFoundException:

The request was rejected because the specified resource could not be found.

TooManyRequestsException:

The limit on the number of requests per second was exceeded.

ConflictException:

The request failed because there is a conflict with a previous write. You can retry the request.

BadRequestException:

The request is invalid or malformed.

DeleteTableBucket

$result = $client->deleteTableBucket([/* ... */]);
$promise = $client->deleteTableBucketAsync([/* ... */]);

Deletes a table bucket. For more information, see Deleting a table bucket in the Amazon Simple Storage Service User Guide.

Permissions

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

Parameter Syntax

$result = $client->deleteTableBucket([
    'tableBucketARN' => '<string>', // REQUIRED
]);

Parameter Details

Members
tableBucketARN
Required: Yes
Type: string

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

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InternalServerErrorException:

The request failed due to an internal server error.

ForbiddenException:

The caller isn't authorized to make the request.

NotFoundException:

The request was rejected because the specified resource could not be found.

TooManyRequestsException:

The limit on the number of requests per second was exceeded.

ConflictException:

The request failed because there is a conflict with a previous write. You can retry the request.

BadRequestException:

The request is invalid or malformed.

DeleteTableBucketEncryption

$result = $client->deleteTableBucketEncryption([/* ... */]);
$promise = $client->deleteTableBucketEncryptionAsync([/* ... */]);

Deletes the encryption configuration for a table bucket.

Permissions

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

Parameter Syntax

$result = $client->deleteTableBucketEncryption([
    'tableBucketARN' => '<string>', // REQUIRED
]);

Parameter Details

Members
tableBucketARN
Required: Yes
Type: string

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

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InternalServerErrorException:

The request failed due to an internal server error.

ForbiddenException:

The caller isn't authorized to make the request.

NotFoundException:

The request was rejected because the specified resource could not be found.

TooManyRequestsException:

The limit on the number of requests per second was exceeded.

ConflictException:

The request failed because there is a conflict with a previous write. You can retry the request.

BadRequestException:

The request is invalid or malformed.

DeleteTableBucketMetricsConfiguration

$result = $client->deleteTableBucketMetricsConfiguration([/* ... */]);
$promise = $client->deleteTableBucketMetricsConfigurationAsync([/* ... */]);

Deletes the metrics configuration for a table bucket.

Permissions

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

Parameter Syntax

$result = $client->deleteTableBucketMetricsConfiguration([
    'tableBucketARN' => '<string>', // REQUIRED
]);

Parameter Details

Members
tableBucketARN
Required: Yes
Type: string

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

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InternalServerErrorException:

The request failed due to an internal server error.

ForbiddenException:

The caller isn't authorized to make the request.

NotFoundException:

The request was rejected because the specified resource could not be found.

TooManyRequestsException:

The limit on the number of requests per second was exceeded.

ConflictException:

The request failed because there is a conflict with a previous write. You can retry the request.

BadRequestException:

The request is invalid or malformed.

DeleteTableBucketPolicy

$result = $client->deleteTableBucketPolicy([/* ... */]);
$promise = $client->deleteTableBucketPolicyAsync([/* ... */]);

Deletes a table bucket policy. For more information, see Deleting a table bucket policy in the Amazon Simple Storage Service User Guide.

Permissions

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

Parameter Syntax

$result = $client->deleteTableBucketPolicy([
    'tableBucketARN' => '<string>', // REQUIRED
]);

Parameter Details

Members
tableBucketARN
Required: Yes
Type: string

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

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InternalServerErrorException:

The request failed due to an internal server error.

ForbiddenException:

The caller isn't authorized to make the request.

NotFoundException:

The request was rejected because the specified resource could not be found.

TooManyRequestsException:

The limit on the number of requests per second was exceeded.

ConflictException:

The request failed because there is a conflict with a previous write. You can retry the request.

BadRequestException:

The request is invalid or malformed.

DeleteTableBucketReplication

$result = $client->deleteTableBucketReplication([/* ... */]);
$promise = $client->deleteTableBucketReplicationAsync([/* ... */]);

Deletes the replication configuration for a table bucket. After deletion, new table updates will no longer be replicated to destination buckets, though existing replicated tables will remain in destination buckets.

Permissions

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

Parameter Syntax

$result = $client->deleteTableBucketReplication([
    'tableBucketARN' => '<string>', // REQUIRED
    'versionToken' => '<string>',
]);

Parameter Details

Members
tableBucketARN
Required: Yes
Type: string

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

versionToken
Type: string

A version token from a previous GetTableBucketReplication call. Use this token to ensure you're deleting the expected version of the configuration.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InternalServerErrorException:

The request failed due to an internal server error.

ForbiddenException:

The caller isn't authorized to make the request.

NotFoundException:

The request was rejected because the specified resource could not be found.

AccessDeniedException:

The action cannot be performed because you do not have the required permission.

TooManyRequestsException:

The limit on the number of requests per second was exceeded.

ConflictException:

The request failed because there is a conflict with a previous write. You can retry the request.

BadRequestException:

The request is invalid or malformed.

DeleteTablePolicy

$result = $client->deleteTablePolicy([/* ... */]);
$promise = $client->deleteTablePolicyAsync([/* ... */]);

Deletes a table policy. For more information, see Deleting a table policy in the Amazon Simple Storage Service User Guide.

Permissions

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

Parameter Syntax

$result = $client->deleteTablePolicy([
    'name' => '<string>', // REQUIRED
    'namespace' => '<string>', // REQUIRED
    'tableBucketARN' => '<string>', // REQUIRED
]);

Parameter Details

Members
name
Required: Yes
Type: string

The table name.

namespace
Required: Yes
Type: string

The namespace associated with the table.

tableBucketARN
Required: Yes
Type: string

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

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InternalServerErrorException:

The request failed due to an internal server error.

ForbiddenException:

The caller isn't authorized to make the request.

NotFoundException:

The request was rejected because the specified resource could not be found.

TooManyRequestsException:

The limit on the number of requests per second was exceeded.

ConflictException:

The request failed because there is a conflict with a previous write. You can retry the request.

BadRequestException:

The request is invalid or malformed.

DeleteTableReplication

$result = $client->deleteTableReplication([/* ... */]);
$promise = $client->deleteTableReplicationAsync([/* ... */]);

Deletes the replication configuration for a specific table. After deletion, new updates to this table will no longer be replicated to destination tables, though existing replicated copies will remain in destination buckets.

Permissions

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

Parameter Syntax

$result = $client->deleteTableReplication([
    'tableArn' => '<string>', // REQUIRED
    'versionToken' => '<string>', // REQUIRED
]);

Parameter Details

Members
tableArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the table.

versionToken
Required: Yes
Type: string

A version token from a previous GetTableReplication call. Use this token to ensure you're deleting the expected version of the configuration.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InternalServerErrorException:

The request failed due to an internal server error.

ForbiddenException:

The caller isn't authorized to make the request.

NotFoundException:

The request was rejected because the specified resource could not be found.

AccessDeniedException:

The action cannot be performed because you do not have the required permission.

TooManyRequestsException:

The limit on the number of requests per second was exceeded.

ConflictException:

The request failed because there is a conflict with a previous write. You can retry the request.

BadRequestException:

The request is invalid or malformed.

GetNamespace

$result = $client->getNamespace([/* ... */]);
$promise = $client->getNamespaceAsync([/* ... */]);

Gets details about a namespace. For more information, see Table namespaces in the Amazon Simple Storage Service User Guide.

Permissions

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

Parameter Syntax

$result = $client->getNamespace([
    'namespace' => '<string>', // REQUIRED
    'tableBucketARN' => '<string>', // REQUIRED
]);

Parameter Details

Members
namespace
Required: Yes
Type: string

The name of the namespace.

tableBucketARN
Required: Yes
Type: string

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

Result Syntax

[
    'createdAt' => <DateTime>,
    'createdBy' => '<string>',
    'namespace' => ['<string>', ...],
    'namespaceId' => '<string>',
    'ownerAccountId' => '<string>',
    'tableBucketId' => '<string>',
]

Result Details

Members
createdAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time the namespace was created at.

createdBy
Required: Yes
Type: string

The ID of the account that created the namespace.

namespace
Required: Yes
Type: Array of strings

The name of the namespace.

namespaceId
Type: string

The unique identifier of the namespace.

ownerAccountId
Required: Yes
Type: string

The ID of the account that owns the namespcace.

tableBucketId
Type: string

The unique identifier of the table bucket containing this namespace.

Errors

InternalServerErrorException:

The request failed due to an internal server error.

ForbiddenException:

The caller isn't authorized to make the request.

NotFoundException:

The request was rejected because the specified resource could not be found.

AccessDeniedException:

The action cannot be performed because you do not have the required permission.

TooManyRequestsException:

The limit on the number of requests per second was exceeded.

ConflictException:

The request failed because there is a conflict with a previous write. You can retry the request.

BadRequestException:

The request is invalid or malformed.

GetTable

$result = $client->getTable([/* ... */]);
$promise = $client->getTableAsync([/* ... */]);

Gets details about a table. For more information, see S3 Tables in the Amazon Simple Storage Service User Guide.

Permissions

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

Parameter Syntax

$result = $client->getTable([
    'name' => '<string>',
    'namespace' => '<string>',
    'tableArn' => '<string>',
    'tableBucketARN' => '<string>',
]);

Parameter Details

Members
name
Type: string

The name of the table.

namespace
Type: string

The name of the namespace the table is associated with.

tableArn
Type: string

The Amazon Resource Name (ARN) of the table.

tableBucketARN
Type: string

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

Result Syntax

[
    'createdAt' => <DateTime>,
    'createdBy' => '<string>',
    'format' => 'ICEBERG',
    'managedByService' => '<string>',
    'managedTableInformation' => [
        'replicationInformation' => [
            'sourceTableARN' => '<string>',
        ],
    ],
    'metadataLocation' => '<string>',
    'modifiedAt' => <DateTime>,
    'modifiedBy' => '<string>',
    'name' => '<string>',
    'namespace' => ['<string>', ...],
    'namespaceId' => '<string>',
    'ownerAccountId' => '<string>',
    'tableARN' => '<string>',
    'tableBucketId' => '<string>',
    'type' => 'customer|aws',
    'versionToken' => '<string>',
    'warehouseLocation' => '<string>',
]

Result Details

Members
createdAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time the table bucket was created at.

createdBy
Required: Yes
Type: string

The ID of the account that created the table.

format
Required: Yes
Type: string

The format of the table.

managedByService
Type: string

The service that manages the table.

managedTableInformation
Type: ManagedTableInformation structure

If this table is managed by S3 Tables, contains additional information such as replication details.

metadataLocation
Type: string

The metadata location of the table.

modifiedAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time the table was last modified on.

modifiedBy
Required: Yes
Type: string

The ID of the account that last modified the table.

name
Required: Yes
Type: string

The name of the table.

namespace
Required: Yes
Type: Array of strings

The namespace associated with the table.

namespaceId
Type: string

The unique identifier of the namespace containing this table.

ownerAccountId
Required: Yes
Type: string

The ID of the account that owns the table.

tableARN
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the table.

tableBucketId
Type: string

The unique identifier of the table bucket containing this table.

type
Required: Yes
Type: string

The type of the table.

versionToken
Required: Yes
Type: string

The version token of the table.

warehouseLocation
Required: Yes
Type: string

The warehouse location of the table.

Errors

InternalServerErrorException:

The request failed due to an internal server error.

ForbiddenException:

The caller isn't authorized to make the request.

NotFoundException:

The request was rejected because the specified resource could not be found.

AccessDeniedException:

The action cannot be performed because you do not have the required permission.

TooManyRequestsException:

The limit on the number of requests per second was exceeded.

ConflictException:

The request failed because there is a conflict with a previous write. You can retry the request.

BadRequestException:

The request is invalid or malformed.

GetTableBucket

$result = $client->getTableBucket([/* ... */]);
$promise = $client->getTableBucketAsync([/* ... */]);

Gets details on a table bucket. For more information, see Viewing details about an Amazon S3 table bucket in the Amazon Simple Storage Service User Guide.

Permissions

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

Parameter Syntax

$result = $client->getTableBucket([
    'tableBucketARN' => '<string>', // REQUIRED
]);

Parameter Details

Members
tableBucketARN
Required: Yes
Type: string

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

Result Syntax

[
    'arn' => '<string>',
    'createdAt' => <DateTime>,
    'name' => '<string>',
    'ownerAccountId' => '<string>',
    'tableBucketId' => '<string>',
    'type' => 'customer|aws',
]

Result Details

Members
arn
Required: Yes
Type: string

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

createdAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time the table bucket was created.

name
Required: Yes
Type: string

The name of the table bucket

ownerAccountId
Required: Yes
Type: string

The ID of the account that owns the table bucket.

tableBucketId
Type: string

The unique identifier of the table bucket.

type
Type: string

The type of the table bucket.

Errors

InternalServerErrorException:

The request failed due to an internal server error.

ForbiddenException:

The caller isn't authorized to make the request.

NotFoundException:

The request was rejected because the specified resource could not be found.

AccessDeniedException:

The action cannot be performed because you do not have the required permission.

TooManyRequestsException:

The limit on the number of requests per second was exceeded.

ConflictException:

The request failed because there is a conflict with a previous write. You can retry the request.

BadRequestException:

The request is invalid or malformed.

GetTableBucketEncryption

$result = $client->getTableBucketEncryption([/* ... */]);
$promise = $client->getTableBucketEncryptionAsync([/* ... */]);

Gets the encryption configuration for a table bucket.

Permissions

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

Parameter Syntax

$result = $client->getTableBucketEncryption([
    'tableBucketARN' => '<string>', // REQUIRED
]);

Parameter Details

Members
tableBucketARN
Required: Yes
Type: string

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

Result Syntax

[
    'encryptionConfiguration' => [
        'kmsKeyArn' => '<string>',
        'sseAlgorithm' => 'AES256|aws:kms',
    ],
]

Result Details

Members
encryptionConfiguration
Required: Yes
Type: EncryptionConfiguration structure

The encryption configuration for the table bucket.

Errors

InternalServerErrorException:

The request failed due to an internal server error.

ForbiddenException:

The caller isn't authorized to make the request.

NotFoundException:

The request was rejected because the specified resource could not be found.

AccessDeniedException:

The action cannot be performed because you do not have the required permission.

TooManyRequestsException:

The limit on the number of requests per second was exceeded.

BadRequestException:

The request is invalid or malformed.

GetTableBucketMaintenanceConfiguration

$result = $client->getTableBucketMaintenanceConfiguration([/* ... */]);
$promise = $client->getTableBucketMaintenanceConfigurationAsync([/* ... */]);

Gets details about a maintenance configuration for a given table bucket. For more information, see Amazon S3 table bucket maintenance in the Amazon Simple Storage Service User Guide.

Permissions

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

Parameter Syntax

$result = $client->getTableBucketMaintenanceConfiguration([
    'tableBucketARN' => '<string>', // REQUIRED
]);

Parameter Details

Members
tableBucketARN
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the table bucket associated with the maintenance configuration.

Result Syntax

[
    'configuration' => [
        '<TableBucketMaintenanceType>' => [
            'settings' => [
                'icebergUnreferencedFileRemoval' => [
                    'nonCurrentDays' => <integer>,
                    'unreferencedDays' => <integer>,
                ],
            ],
            'status' => 'enabled|disabled',
        ],
        // ...
    ],
    'tableBucketARN' => '<string>',
]

Result Details

Members
configuration
Required: Yes
Type: Associative array of custom strings keys (TableBucketMaintenanceType) to TableBucketMaintenanceConfigurationValue structures

Details about the maintenance configuration for the table bucket.

tableBucketARN
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the table bucket associated with the maintenance configuration.

Errors

InternalServerErrorException:

The request failed due to an internal server error.

ForbiddenException:

The caller isn't authorized to make the request.

NotFoundException:

The request was rejected because the specified resource could not be found.

TooManyRequestsException:

The limit on the number of requests per second was exceeded.

ConflictException:

The request failed because there is a conflict with a previous write. You can retry the request.

BadRequestException:

The request is invalid or malformed.

GetTableBucketMetricsConfiguration

$result = $client->getTableBucketMetricsConfiguration([/* ... */]);
$promise = $client->getTableBucketMetricsConfigurationAsync([/* ... */]);

Gets the metrics configuration for a table bucket.

Permissions

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

Parameter Syntax

$result = $client->getTableBucketMetricsConfiguration([
    'tableBucketARN' => '<string>', // REQUIRED
]);

Parameter Details

Members
tableBucketARN
Required: Yes
Type: string

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

Result Syntax

[
    'id' => '<string>',
    'tableBucketARN' => '<string>',
]

Result Details

Members
id
Type: string

The unique identifier of the metrics configuration.

tableBucketARN
Required: Yes
Type: string

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

Errors

InternalServerErrorException:

The request failed due to an internal server error.

ForbiddenException:

The caller isn't authorized to make the request.

NotFoundException:

The request was rejected because the specified resource could not be found.

TooManyRequestsException:

The limit on the number of requests per second was exceeded.

ConflictException:

The request failed because there is a conflict with a previous write. You can retry the request.

BadRequestException:

The request is invalid or malformed.

GetTableBucketPolicy

$result = $client->getTableBucketPolicy([/* ... */]);
$promise = $client->getTableBucketPolicyAsync([/* ... */]);

Gets details about a table bucket policy. For more information, see Viewing a table bucket policy in the Amazon Simple Storage Service User Guide.

Permissions

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

Parameter Syntax

$result = $client->getTableBucketPolicy([
    'tableBucketARN' => '<string>', // REQUIRED
]);

Parameter Details

Members
tableBucketARN
Required: Yes
Type: string

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

Result Syntax

[
    'resourcePolicy' => '<string>',
]

Result Details

Members
resourcePolicy
Required: Yes
Type: string

The JSON that defines the policy.

Errors

InternalServerErrorException:

The request failed due to an internal server error.

ForbiddenException:

The caller isn't authorized to make the request.

NotFoundException:

The request was rejected because the specified resource could not be found.

TooManyRequestsException:

The limit on the number of requests per second was exceeded.

ConflictException:

The request failed because there is a conflict with a previous write. You can retry the request.

BadRequestException:

The request is invalid or malformed.

GetTableBucketReplication

$result = $client->getTableBucketReplication([/* ... */]);
$promise = $client->getTableBucketReplicationAsync([/* ... */]);

Retrieves the replication configuration for a table bucket.This operation returns the IAM role, versionToken, and replication rules that define how tables in this bucket are replicated to other buckets.

Permissions

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

Parameter Syntax

$result = $client->getTableBucketReplication([
    'tableBucketARN' => '<string>', // REQUIRED
]);

Parameter Details

Members
tableBucketARN
Required: Yes
Type: string

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

Result Syntax

[
    'configuration' => [
        'role' => '<string>',
        'rules' => [
            [
                'destinations' => [
                    [
                        'destinationTableBucketARN' => '<string>',
                    ],
                    // ...
                ],
            ],
            // ...
        ],
    ],
    'versionToken' => '<string>',
]

Result Details

Members
configuration
Required: Yes
Type: TableBucketReplicationConfiguration structure

The replication configuration for the table bucket, including the IAM role and replication rules.

versionToken
Required: Yes
Type: string

A version token that represents the current state of the replication configuration. Use this token when updating the configuration to ensure consistency.

Errors

InternalServerErrorException:

The request failed due to an internal server error.

ForbiddenException:

The caller isn't authorized to make the request.

NotFoundException:

The request was rejected because the specified resource could not be found.

AccessDeniedException:

The action cannot be performed because you do not have the required permission.

TooManyRequestsException:

The limit on the number of requests per second was exceeded.

ConflictException:

The request failed because there is a conflict with a previous write. You can retry the request.

BadRequestException:

The request is invalid or malformed.

GetTableBucketStorageClass

$result = $client->getTableBucketStorageClass([/* ... */]);
$promise = $client->getTableBucketStorageClassAsync([/* ... */]);

Retrieves the storage class configuration for a specific table. This allows you to view the storage class settings that apply to an individual table, which may differ from the table bucket's default configuration.

Permissions

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

Parameter Syntax

$result = $client->getTableBucketStorageClass([
    'tableBucketARN' => '<string>', // REQUIRED
]);

Parameter Details

Members
tableBucketARN
Required: Yes
Type: string

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

Result Syntax

[
    'storageClassConfiguration' => [
        'storageClass' => 'STANDARD|INTELLIGENT_TIERING',
    ],
]

Result Details

Members
storageClassConfiguration
Required: Yes
Type: StorageClassConfiguration structure

The storage class configuration for the table bucket.

Errors

InternalServerErrorException:

The request failed due to an internal server error.

ForbiddenException:

The caller isn't authorized to make the request.

NotFoundException:

The request was rejected because the specified resource could not be found.

AccessDeniedException:

The action cannot be performed because you do not have the required permission.

TooManyRequestsException:

The limit on the number of requests per second was exceeded.

BadRequestException:

The request is invalid or malformed.

GetTableEncryption

$result = $client->getTableEncryption([/* ... */]);
$promise = $client->getTableEncryptionAsync([/* ... */]);

Gets the encryption configuration for a table.

Permissions

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

Parameter Syntax

$result = $client->getTableEncryption([
    'name' => '<string>', // REQUIRED
    'namespace' => '<string>', // REQUIRED
    'tableBucketARN' => '<string>', // REQUIRED
]);

Parameter Details

Members
name
Required: Yes
Type: string

The name of the table.

namespace
Required: Yes
Type: string

The namespace associated with the table.

tableBucketARN
Required: Yes
Type: string

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

Result Syntax

[
    'encryptionConfiguration' => [
        'kmsKeyArn' => '<string>',
        'sseAlgorithm' => 'AES256|aws:kms',
    ],
]

Result Details

Members
encryptionConfiguration
Required: Yes
Type: EncryptionConfiguration structure

The encryption configuration for the table.

Errors

InternalServerErrorException:

The request failed due to an internal server error.

ForbiddenException:

The caller isn't authorized to make the request.

NotFoundException:

The request was rejected because the specified resource could not be found.

AccessDeniedException:

The action cannot be performed because you do not have the required permission.

TooManyRequestsException:

The limit on the number of requests per second was exceeded.

BadRequestException:

The request is invalid or malformed.

GetTableMaintenanceConfiguration

$result = $client->getTableMaintenanceConfiguration([/* ... */]);
$promise = $client->getTableMaintenanceConfigurationAsync([/* ... */]);

Gets details about the maintenance configuration of a table. For more information, see S3 Tables maintenance in the Amazon Simple Storage Service User Guide.

Permissions
  • You must have the s3tables:GetTableMaintenanceConfiguration permission to use this operation.

  • You must have the s3tables:GetTableData permission to use set the compaction strategy to sort or zorder.

Parameter Syntax

$result = $client->getTableMaintenanceConfiguration([
    'name' => '<string>', // REQUIRED
    'namespace' => '<string>', // REQUIRED
    'tableBucketARN' => '<string>', // REQUIRED
]);

Parameter Details

Members
name
Required: Yes
Type: string

The name of the table.

namespace
Required: Yes
Type: string

The namespace associated with the table.

tableBucketARN
Required: Yes
Type: string

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

Result Syntax

[
    'configuration' => [
        '<TableMaintenanceType>' => [
            'settings' => [
                'icebergCompaction' => [
                    'strategy' => 'auto|binpack|sort|z-order',
                    'targetFileSizeMB' => <integer>,
                ],
                'icebergSnapshotManagement' => [
                    'maxSnapshotAgeHours' => <integer>,
                    'minSnapshotsToKeep' => <integer>,
                ],
            ],
            'status' => 'enabled|disabled',
        ],
        // ...
    ],
    'tableARN' => '<string>',
]

Result Details

Members
configuration
Required: Yes
Type: Associative array of custom strings keys (TableMaintenanceType) to TableMaintenanceConfigurationValue structures

Details about the maintenance configuration for the table bucket.

tableARN
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the table.

Errors

InternalServerErrorException:

The request failed due to an internal server error.

ForbiddenException:

The caller isn't authorized to make the request.

NotFoundException:

The request was rejected because the specified resource could not be found.

TooManyRequestsException:

The limit on the number of requests per second was exceeded.

ConflictException:

The request failed because there is a conflict with a previous write. You can retry the request.

BadRequestException:

The request is invalid or malformed.

GetTableMaintenanceJobStatus

$result = $client->getTableMaintenanceJobStatus([/* ... */]);
$promise = $client->getTableMaintenanceJobStatusAsync([/* ... */]);

Gets the status of a maintenance job for a table. For more information, see S3 Tables maintenance in the Amazon Simple Storage Service User Guide.

Permissions

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

Parameter Syntax

$result = $client->getTableMaintenanceJobStatus([
    'name' => '<string>', // REQUIRED
    'namespace' => '<string>', // REQUIRED
    'tableBucketARN' => '<string>', // REQUIRED
]);

Parameter Details

Members
name
Required: Yes
Type: string

The name of the table containing the maintenance job status you want to check.

namespace
Required: Yes
Type: string

The name of the namespace the table is associated with.

tableBucketARN
Required: Yes
Type: string

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

Result Syntax

[
    'status' => [
        '<TableMaintenanceJobType>' => [
            'failureMessage' => '<string>',
            'lastRunTimestamp' => <DateTime>,
            'status' => 'Not_Yet_Run|Successful|Failed|Disabled',
        ],
        // ...
    ],
    'tableARN' => '<string>',
]

Result Details

Members
status
Required: Yes
Type: Associative array of custom strings keys (TableMaintenanceJobType) to TableMaintenanceJobStatusValue structures

The status of the maintenance job.

tableARN
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the table.

Errors

InternalServerErrorException:

The request failed due to an internal server error.

ForbiddenException:

The caller isn't authorized to make the request.

NotFoundException:

The request was rejected because the specified resource could not be found.

TooManyRequestsException:

The limit on the number of requests per second was exceeded.

ConflictException:

The request failed because there is a conflict with a previous write. You can retry the request.

BadRequestException:

The request is invalid or malformed.

GetTableMetadataLocation

$result = $client->getTableMetadataLocation([/* ... */]);
$promise = $client->getTableMetadataLocationAsync([/* ... */]);

Gets the location of the table metadata.

Permissions

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

Parameter Syntax

$result = $client->getTableMetadataLocation([
    'name' => '<string>', // REQUIRED
    'namespace' => '<string>', // REQUIRED
    'tableBucketARN' => '<string>', // REQUIRED
]);

Parameter Details

Members
name
Required: Yes
Type: string

The name of the table.

namespace
Required: Yes
Type: string

The namespace of the table.

tableBucketARN
Required: Yes
Type: string

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

Result Syntax

[
    'metadataLocation' => '<string>',
    'versionToken' => '<string>',
    'warehouseLocation' => '<string>',
]

Result Details

Members
metadataLocation
Type: string

The metadata location.

versionToken
Required: Yes
Type: string

The version token.

warehouseLocation
Required: Yes
Type: string

The warehouse location.

Errors

InternalServerErrorException:

The request failed due to an internal server error.

ForbiddenException:

The caller isn't authorized to make the request.

NotFoundException:

The request was rejected because the specified resource could not be found.

TooManyRequestsException:

The limit on the number of requests per second was exceeded.

ConflictException:

The request failed because there is a conflict with a previous write. You can retry the request.

BadRequestException:

The request is invalid or malformed.

GetTablePolicy

$result = $client->getTablePolicy([/* ... */]);
$promise = $client->getTablePolicyAsync([/* ... */]);

Gets details about a table policy. For more information, see Viewing a table policy in the Amazon Simple Storage Service User Guide.

Permissions

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

Parameter Syntax

$result = $client->getTablePolicy([
    'name' => '<string>', // REQUIRED
    'namespace' => '<string>', // REQUIRED
    'tableBucketARN' => '<string>', // REQUIRED
]);

Parameter Details

Members
name
Required: Yes
Type: string

The name of the table.

namespace
Required: Yes
Type: string

The namespace associated with the table.

tableBucketARN
Required: Yes
Type: string

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

Result Syntax

[
    'resourcePolicy' => '<string>',
]

Result Details

Members
resourcePolicy
Required: Yes
Type: string

The JSON that defines the policy.

Errors

InternalServerErrorException:

The request failed due to an internal server error.

ForbiddenException:

The caller isn't authorized to make the request.

NotFoundException:

The request was rejected because the specified resource could not be found.

TooManyRequestsException:

The limit on the number of requests per second was exceeded.

ConflictException:

The request failed because there is a conflict with a previous write. You can retry the request.

BadRequestException:

The request is invalid or malformed.

GetTableRecordExpirationConfiguration

$result = $client->getTableRecordExpirationConfiguration([/* ... */]);
$promise = $client->getTableRecordExpirationConfigurationAsync([/* ... */]);

Retrieves the expiration configuration settings for records in a table, and the status of the configuration. If the status of the configuration is enabled, records expire and are automatically removed from the table after the specified number of days.

Permissions

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

Parameter Syntax

$result = $client->getTableRecordExpirationConfiguration([
    'tableArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
tableArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the table.

Result Syntax

[
    'configuration' => [
        'settings' => [
            'days' => <integer>,
        ],
        'status' => 'enabled|disabled',
    ],
]

Result Details

Members
configuration
Required: Yes
Type: TableRecordExpirationConfigurationValue structure

The record expiration configuration for the table, including the status and retention settings.

Errors

InternalServerErrorException:

The request failed due to an internal server error.

MethodNotAllowedException:

The requested operation is not allowed on this resource. This may occur when attempting to modify a resource that is managed by a service or has restrictions that prevent the operation.

ForbiddenException:

The caller isn't authorized to make the request.

NotFoundException:

The request was rejected because the specified resource could not be found.

TooManyRequestsException:

The limit on the number of requests per second was exceeded.

BadRequestException:

The request is invalid or malformed.

GetTableRecordExpirationJobStatus

$result = $client->getTableRecordExpirationJobStatus([/* ... */]);
$promise = $client->getTableRecordExpirationJobStatusAsync([/* ... */]);

Retrieves the status, metrics, and details of the latest record expiration job for a table. This includes when the job ran, and whether it succeeded or failed. If the job ran successfully, this also includes statistics about the records that were removed.

Permissions

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

Parameter Syntax

$result = $client->getTableRecordExpirationJobStatus([
    'tableArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
tableArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the table.

Result Syntax

[
    'failureMessage' => '<string>',
    'lastRunTimestamp' => <DateTime>,
    'metrics' => [
        'deletedDataFiles' => <integer>,
        'deletedRecords' => <integer>,
        'removedFilesSize' => <integer>,
    ],
    'status' => 'NotYetRun|Successful|Failed|Disabled',
]

Result Details

Members
failureMessage
Type: string

If the job failed, this field contains an error message describing the failure reason.

lastRunTimestamp
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp when the expiration job was last executed.

metrics

Metrics about the most recent expiration job execution, including the number of records and files deleted.

status
Required: Yes
Type: string

The current status of the most recent expiration job.

Errors

InternalServerErrorException:

The request failed due to an internal server error.

MethodNotAllowedException:

The requested operation is not allowed on this resource. This may occur when attempting to modify a resource that is managed by a service or has restrictions that prevent the operation.

ForbiddenException:

The caller isn't authorized to make the request.

NotFoundException:

The request was rejected because the specified resource could not be found.

TooManyRequestsException:

The limit on the number of requests per second was exceeded.

BadRequestException:

The request is invalid or malformed.

GetTableReplication

$result = $client->getTableReplication([/* ... */]);
$promise = $client->getTableReplicationAsync([/* ... */]);

Retrieves the replication configuration for a specific table.

Permissions

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

Parameter Syntax

$result = $client->getTableReplication([
    'tableArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
tableArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the table.

Result Syntax

[
    'configuration' => [
        'role' => '<string>',
        'rules' => [
            [
                'destinations' => [
                    [
                        'destinationTableBucketARN' => '<string>',
                    ],
                    // ...
                ],
            ],
            // ...
        ],
    ],
    'versionToken' => '<string>',
]

Result Details

Members
configuration
Required: Yes
Type: TableReplicationConfiguration structure

The replication configuration for the table, including the IAM role and replication rules.

versionToken
Required: Yes
Type: string

A version token that represents the current state of the table's replication configuration. Use this token when updating the configuration to ensure consistency.

Errors

InternalServerErrorException:

The request failed due to an internal server error.

ForbiddenException:

The caller isn't authorized to make the request.

NotFoundException:

The request was rejected because the specified resource could not be found.

AccessDeniedException:

The action cannot be performed because you do not have the required permission.

TooManyRequestsException:

The limit on the number of requests per second was exceeded.

ConflictException:

The request failed because there is a conflict with a previous write. You can retry the request.

BadRequestException:

The request is invalid or malformed.

GetTableReplicationStatus

$result = $client->getTableReplicationStatus([/* ... */]);
$promise = $client->getTableReplicationStatusAsync([/* ... */]);

Retrieves the replication status for a table, including the status of replication to each destination. This operation provides visibility into replication health and progress.

Permissions

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

Parameter Syntax

$result = $client->getTableReplicationStatus([
    'tableArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
tableArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the table.

Result Syntax

[
    'destinations' => [
        [
            'destinationTableArn' => '<string>',
            'destinationTableBucketArn' => '<string>',
            'failureMessage' => '<string>',
            'lastSuccessfulReplicatedUpdate' => [
                'metadataLocation' => '<string>',
                'timestamp' => <DateTime>,
            ],
            'replicationStatus' => 'pending|completed|failed',
        ],
        // ...
    ],
    'sourceTableArn' => '<string>',
]

Result Details

Members
destinations
Required: Yes
Type: Array of ReplicationDestinationStatusModel structures

An array of status information for each replication destination, including the current state, last successful update, and any error messages.

sourceTableArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the source table being replicated.

Errors

InternalServerErrorException:

The request failed due to an internal server error.

ForbiddenException:

The caller isn't authorized to make the request.

NotFoundException:

The request was rejected because the specified resource could not be found.

TooManyRequestsException:

The limit on the number of requests per second was exceeded.

ConflictException:

The request failed because there is a conflict with a previous write. You can retry the request.

BadRequestException:

The request is invalid or malformed.

GetTableStorageClass

$result = $client->getTableStorageClass([/* ... */]);
$promise = $client->getTableStorageClassAsync([/* ... */]);

Retrieves the storage class configuration for a specific table. This allows you to view the storage class settings that apply to an individual table, which may differ from the table bucket's default configuration.

Permissions

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

Parameter Syntax

$result = $client->getTableStorageClass([
    'name' => '<string>', // REQUIRED
    'namespace' => '<string>', // REQUIRED
    'tableBucketARN' => '<string>', // REQUIRED
]);

Parameter Details

Members
name
Required: Yes
Type: string

The name of the table.

namespace
Required: Yes
Type: string

The namespace associated with the table.

tableBucketARN
Required: Yes
Type: string

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

Result Syntax

[
    'storageClassConfiguration' => [
        'storageClass' => 'STANDARD|INTELLIGENT_TIERING',
    ],
]

Result Details

Members
storageClassConfiguration
Required: Yes
Type: StorageClassConfiguration structure

The storage class configuration for the table.

Errors

InternalServerErrorException:

The request failed due to an internal server error.

ForbiddenException:

The caller isn't authorized to make the request.

NotFoundException:

The request was rejected because the specified resource could not be found.

AccessDeniedException:

The action cannot be performed because you do not have the required permission.

TooManyRequestsException:

The limit on the number of requests per second was exceeded.

BadRequestException:

The request is invalid or malformed.

ListNamespaces

$result = $client->listNamespaces([/* ... */]);
$promise = $client->listNamespacesAsync([/* ... */]);

Lists the namespaces within a table bucket. For more information, see Table namespaces in the Amazon Simple Storage Service User Guide.

Permissions

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

Parameter Syntax

$result = $client->listNamespaces([
    'continuationToken' => '<string>',
    'maxNamespaces' => <integer>,
    'prefix' => '<string>',
    'tableBucketARN' => '<string>', // REQUIRED
]);

Parameter Details

Members
continuationToken
Type: string

ContinuationToken indicates to Amazon S3 that the list is being continued on this bucket with a token. ContinuationToken is obfuscated and is not a real key. You can use this ContinuationToken for pagination of the list results.

maxNamespaces
Type: int

The maximum number of namespaces to return in the list.

prefix
Type: string

The prefix of the namespaces.

tableBucketARN
Required: Yes
Type: string

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

Result Syntax

[
    'continuationToken' => '<string>',
    'namespaces' => [
        [
            'createdAt' => <DateTime>,
            'createdBy' => '<string>',
            'namespace' => ['<string>', ...],
            'namespaceId' => '<string>',
            'ownerAccountId' => '<string>',
            'tableBucketId' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
continuationToken
Type: string

The ContinuationToken for pagination of the list results.

namespaces
Required: Yes
Type: Array of NamespaceSummary structures

A list of namespaces.

Errors

InternalServerErrorException:

The request failed due to an internal server error.

ForbiddenException:

The caller isn't authorized to make the request.

NotFoundException:

The request was rejected because the specified resource could not be found.

AccessDeniedException:

The action cannot be performed because you do not have the required permission.

TooManyRequestsException:

The limit on the number of requests per second was exceeded.

ConflictException:

The request failed because there is a conflict with a previous write. You can retry the request.

BadRequestException:

The request is invalid or malformed.

ListTableBuckets

$result = $client->listTableBuckets([/* ... */]);
$promise = $client->listTableBucketsAsync([/* ... */]);

Lists table buckets for your account. For more information, see S3 Table buckets in the Amazon Simple Storage Service User Guide.

Permissions

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

Parameter Syntax

$result = $client->listTableBuckets([
    'continuationToken' => '<string>',
    'maxBuckets' => <integer>,
    'prefix' => '<string>',
    'type' => 'customer|aws',
]);

Parameter Details

Members
continuationToken
Type: string

ContinuationToken indicates to Amazon S3 that the list is being continued on this bucket with a token. ContinuationToken is obfuscated and is not a real key. You can use this ContinuationToken for pagination of the list results.

maxBuckets
Type: int

The maximum number of table buckets to return in the list.

prefix
Type: string

The prefix of the table buckets.

type
Type: string

The type of table buckets to filter by in the list.

Result Syntax

[
    'continuationToken' => '<string>',
    'tableBuckets' => [
        [
            'arn' => '<string>',
            'createdAt' => <DateTime>,
            'name' => '<string>',
            'ownerAccountId' => '<string>',
            'tableBucketId' => '<string>',
            'type' => 'customer|aws',
        ],
        // ...
    ],
]

Result Details

Members
continuationToken
Type: string

You can use this ContinuationToken for pagination of the list results.

tableBuckets
Required: Yes
Type: Array of TableBucketSummary structures

A list of table buckets.

Errors

InternalServerErrorException:

The request failed due to an internal server error.

ForbiddenException:

The caller isn't authorized to make the request.

NotFoundException:

The request was rejected because the specified resource could not be found.

AccessDeniedException:

The action cannot be performed because you do not have the required permission.

TooManyRequestsException:

The limit on the number of requests per second was exceeded.

ConflictException:

The request failed because there is a conflict with a previous write. You can retry the request.

BadRequestException:

The request is invalid or malformed.

ListTables

$result = $client->listTables([/* ... */]);
$promise = $client->listTablesAsync([/* ... */]);

List tables in the given table bucket. For more information, see S3 Tables in the Amazon Simple Storage Service User Guide.

Permissions

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

Parameter Syntax

$result = $client->listTables([
    'continuationToken' => '<string>',
    'maxTables' => <integer>,
    'namespace' => '<string>',
    'prefix' => '<string>',
    'tableBucketARN' => '<string>', // REQUIRED
]);

Parameter Details

Members
continuationToken
Type: string

ContinuationToken indicates to Amazon S3 that the list is being continued on this bucket with a token. ContinuationToken is obfuscated and is not a real key. You can use this ContinuationToken for pagination of the list results.

maxTables
Type: int

The maximum number of tables to return.

namespace
Type: string

The namespace of the tables.

prefix
Type: string

The prefix of the tables.

tableBucketARN
Required: Yes
Type: string

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

Result Syntax

[
    'continuationToken' => '<string>',
    'tables' => [
        [
            'createdAt' => <DateTime>,
            'managedByService' => '<string>',
            'modifiedAt' => <DateTime>,
            'name' => '<string>',
            'namespace' => ['<string>', ...],
            'namespaceId' => '<string>',
            'tableARN' => '<string>',
            'tableBucketId' => '<string>',
            'type' => 'customer|aws',
        ],
        // ...
    ],
]

Result Details

Members
continuationToken
Type: string

You can use this ContinuationToken for pagination of the list results.

tables
Required: Yes
Type: Array of TableSummary structures

A list of tables.

Errors

InternalServerErrorException:

The request failed due to an internal server error.

ForbiddenException:

The caller isn't authorized to make the request.

NotFoundException:

The request was rejected because the specified resource could not be found.

TooManyRequestsException:

The limit on the number of requests per second was exceeded.

ConflictException:

The request failed because there is a conflict with a previous write. You can retry the request.

BadRequestException:

The request is invalid or malformed.

ListTagsForResource

$result = $client->listTagsForResource([/* ... */]);
$promise = $client->listTagsForResourceAsync([/* ... */]);

Lists all of the tags applied to a specified Amazon S3 Tables resource. Each tag is a label consisting of a key and value pair. Tags can help you organize, track costs for, and control access to resources.

For a list of S3 resources that support tagging, see Managing tags for Amazon S3 resources.

Permissions

For tables and table buckets, you must have the s3tables:ListTagsForResource permission to use this operation.

Parameter Syntax

$result = $client->listTagsForResource([
    'resourceArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
resourceArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the Amazon S3 Tables resource that you want to list tags for. The tagged resource can be a table bucket or a table. For a list of all S3 resources that support tagging, see Managing tags for Amazon S3 resources.

Result Syntax

[
    'tags' => ['<string>', ...],
]

Result Details

Members
tags
Type: Associative array of custom strings keys (TagKey) to strings

The user-defined tags that are applied to the resource. For more information, see Tagging for cost allocation or attribute-based access control (ABAC).

Errors

InternalServerErrorException:

The request failed due to an internal server error.

ForbiddenException:

The caller isn't authorized to make the request.

NotFoundException:

The request was rejected because the specified resource could not be found.

TooManyRequestsException:

The limit on the number of requests per second was exceeded.

ConflictException:

The request failed because there is a conflict with a previous write. You can retry the request.

BadRequestException:

The request is invalid or malformed.

PutTableBucketEncryption

$result = $client->putTableBucketEncryption([/* ... */]);
$promise = $client->putTableBucketEncryptionAsync([/* ... */]);

Sets the encryption configuration for a table bucket.

Permissions

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

If you choose SSE-KMS encryption you must grant the S3 Tables maintenance principal access to your KMS key. For more information, see Permissions requirements for S3 Tables SSE-KMS encryption in the Amazon Simple Storage Service User Guide.

Parameter Syntax

$result = $client->putTableBucketEncryption([
    'encryptionConfiguration' => [ // REQUIRED
        'kmsKeyArn' => '<string>',
        'sseAlgorithm' => 'AES256|aws:kms', // REQUIRED
    ],
    'tableBucketARN' => '<string>', // REQUIRED
]);

Parameter Details

Members
encryptionConfiguration
Required: Yes
Type: EncryptionConfiguration structure

The encryption configuration to apply to the table bucket.

tableBucketARN
Required: Yes
Type: string

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

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InternalServerErrorException:

The request failed due to an internal server error.

ForbiddenException:

The caller isn't authorized to make the request.

NotFoundException:

The request was rejected because the specified resource could not be found.

TooManyRequestsException:

The limit on the number of requests per second was exceeded.

ConflictException:

The request failed because there is a conflict with a previous write. You can retry the request.

BadRequestException:

The request is invalid or malformed.

PutTableBucketMaintenanceConfiguration

$result = $client->putTableBucketMaintenanceConfiguration([/* ... */]);
$promise = $client->putTableBucketMaintenanceConfigurationAsync([/* ... */]);

Creates a new maintenance configuration or replaces an existing maintenance configuration for a table bucket. For more information, see Amazon S3 table bucket maintenance in the Amazon Simple Storage Service User Guide.

Permissions

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

Parameter Syntax

$result = $client->putTableBucketMaintenanceConfiguration([
    'tableBucketARN' => '<string>', // REQUIRED
    'type' => 'icebergUnreferencedFileRemoval', // REQUIRED
    'value' => [ // REQUIRED
        'settings' => [
            'icebergUnreferencedFileRemoval' => [
                'nonCurrentDays' => <integer>,
                'unreferencedDays' => <integer>,
            ],
        ],
        'status' => 'enabled|disabled',
    ],
]);

Parameter Details

Members
tableBucketARN
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the table bucket associated with the maintenance configuration.

type
Required: Yes
Type: string

The type of the maintenance configuration.

value
Required: Yes
Type: TableBucketMaintenanceConfigurationValue structure

Defines the values of the maintenance configuration for the table bucket.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InternalServerErrorException:

The request failed due to an internal server error.

ForbiddenException:

The caller isn't authorized to make the request.

NotFoundException:

The request was rejected because the specified resource could not be found.

TooManyRequestsException:

The limit on the number of requests per second was exceeded.

ConflictException:

The request failed because there is a conflict with a previous write. You can retry the request.

BadRequestException:

The request is invalid or malformed.

PutTableBucketMetricsConfiguration

$result = $client->putTableBucketMetricsConfiguration([/* ... */]);
$promise = $client->putTableBucketMetricsConfigurationAsync([/* ... */]);

Sets the metrics configuration for a table bucket.

Permissions

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

Parameter Syntax

$result = $client->putTableBucketMetricsConfiguration([
    'tableBucketARN' => '<string>', // REQUIRED
]);

Parameter Details

Members
tableBucketARN
Required: Yes
Type: string

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

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InternalServerErrorException:

The request failed due to an internal server error.

ForbiddenException:

The caller isn't authorized to make the request.

NotFoundException:

The request was rejected because the specified resource could not be found.

TooManyRequestsException:

The limit on the number of requests per second was exceeded.

ConflictException:

The request failed because there is a conflict with a previous write. You can retry the request.

BadRequestException:

The request is invalid or malformed.

PutTableBucketPolicy

$result = $client->putTableBucketPolicy([/* ... */]);
$promise = $client->putTableBucketPolicyAsync([/* ... */]);

Creates a new table bucket policy or replaces an existing table bucket policy for a table bucket. For more information, see Adding a table bucket policy in the Amazon Simple Storage Service User Guide.

Permissions

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

Parameter Syntax

$result = $client->putTableBucketPolicy([
    'resourcePolicy' => '<string>', // REQUIRED
    'tableBucketARN' => '<string>', // REQUIRED
]);

Parameter Details

Members
resourcePolicy
Required: Yes
Type: string

The JSON that defines the policy.

tableBucketARN
Required: Yes
Type: string

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

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InternalServerErrorException:

The request failed due to an internal server error.

ForbiddenException:

The caller isn't authorized to make the request.

NotFoundException:

The request was rejected because the specified resource could not be found.

TooManyRequestsException:

The limit on the number of requests per second was exceeded.

ConflictException:

The request failed because there is a conflict with a previous write. You can retry the request.

BadRequestException:

The request is invalid or malformed.

PutTableBucketReplication

$result = $client->putTableBucketReplication([/* ... */]);
$promise = $client->putTableBucketReplicationAsync([/* ... */]);

Creates or updates the replication configuration for a table bucket. This operation defines how tables in the source bucket are replicated to destination buckets. Replication helps ensure data availability and disaster recovery across regions or accounts.

Permissions
  • You must have the s3tables:PutTableBucketReplication permission to use this operation. The IAM role specified in the configuration must have permissions to read from the source bucket and write permissions to all destination buckets.

  • You must also have the following permissions:

    • s3tables:GetTable permission on the source table.

    • s3tables:ListTables permission on the bucket containing the table.

    • s3tables:CreateTable permission for the destination.

    • s3tables:CreateNamespace permission for the destination.

    • s3tables:GetTableMaintenanceConfig permission for the source bucket.

    • s3tables:PutTableMaintenanceConfig permission for the destination bucket.

  • You must have iam:PassRole permission with condition allowing roles to be passed to replication.s3tables.amazonaws.com.

Parameter Syntax

$result = $client->putTableBucketReplication([
    'configuration' => [ // REQUIRED
        'role' => '<string>', // REQUIRED
        'rules' => [ // REQUIRED
            [
                'destinations' => [ // REQUIRED
                    [
                        'destinationTableBucketARN' => '<string>', // REQUIRED
                    ],
                    // ...
                ],
            ],
            // ...
        ],
    ],
    'tableBucketARN' => '<string>', // REQUIRED
    'versionToken' => '<string>',
]);

Parameter Details

Members
configuration
Required: Yes
Type: TableBucketReplicationConfiguration structure

The replication configuration to apply, including the IAM role and replication rules.

tableBucketARN
Required: Yes
Type: string

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

versionToken
Type: string

A version token from a previous GetTableBucketReplication call. Use this token to ensure you're updating the expected version of the configuration.

Result Syntax

[
    'status' => '<string>',
    'versionToken' => '<string>',
]

Result Details

Members
status
Required: Yes
Type: string

The status of the replication configuration operation.

versionToken
Required: Yes
Type: string

A new version token representing the updated replication configuration.

Errors

InternalServerErrorException:

The request failed due to an internal server error.

ForbiddenException:

The caller isn't authorized to make the request.

NotFoundException:

The request was rejected because the specified resource could not be found.

AccessDeniedException:

The action cannot be performed because you do not have the required permission.

TooManyRequestsException:

The limit on the number of requests per second was exceeded.

ConflictException:

The request failed because there is a conflict with a previous write. You can retry the request.

BadRequestException:

The request is invalid or malformed.

PutTableBucketStorageClass

$result = $client->putTableBucketStorageClass([/* ... */]);
$promise = $client->putTableBucketStorageClassAsync([/* ... */]);

Sets or updates the storage class configuration for a table bucket. This configuration serves as the default storage class for all new tables created in the bucket, allowing you to optimize storage costs at the bucket level.

Permissions

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

Parameter Syntax

$result = $client->putTableBucketStorageClass([
    'storageClassConfiguration' => [ // REQUIRED
        'storageClass' => 'STANDARD|INTELLIGENT_TIERING', // REQUIRED
    ],
    'tableBucketARN' => '<string>', // REQUIRED
]);

Parameter Details

Members
storageClassConfiguration
Required: Yes
Type: StorageClassConfiguration structure

The storage class configuration to apply to the table bucket. This configuration will serve as the default for new tables created in this bucket.

tableBucketARN
Required: Yes
Type: string

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

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InternalServerErrorException:

The request failed due to an internal server error.

ForbiddenException:

The caller isn't authorized to make the request.

NotFoundException:

The request was rejected because the specified resource could not be found.

TooManyRequestsException:

The limit on the number of requests per second was exceeded.

ConflictException:

The request failed because there is a conflict with a previous write. You can retry the request.

BadRequestException:

The request is invalid or malformed.

PutTableMaintenanceConfiguration

$result = $client->putTableMaintenanceConfiguration([/* ... */]);
$promise = $client->putTableMaintenanceConfigurationAsync([/* ... */]);

Creates a new maintenance configuration or replaces an existing maintenance configuration for a table. For more information, see S3 Tables maintenance in the Amazon Simple Storage Service User Guide.

Permissions

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

Parameter Syntax

$result = $client->putTableMaintenanceConfiguration([
    'name' => '<string>', // REQUIRED
    'namespace' => '<string>', // REQUIRED
    'tableBucketARN' => '<string>', // REQUIRED
    'type' => 'icebergCompaction|icebergSnapshotManagement', // REQUIRED
    'value' => [ // REQUIRED
        'settings' => [
            'icebergCompaction' => [
                'strategy' => 'auto|binpack|sort|z-order',
                'targetFileSizeMB' => <integer>,
            ],
            'icebergSnapshotManagement' => [
                'maxSnapshotAgeHours' => <integer>,
                'minSnapshotsToKeep' => <integer>,
            ],
        ],
        'status' => 'enabled|disabled',
    ],
]);

Parameter Details

Members
name
Required: Yes
Type: string

The name of the table.

namespace
Required: Yes
Type: string

The namespace of the table.

tableBucketARN
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the table associated with the maintenance configuration.

type
Required: Yes
Type: string

The type of the maintenance configuration.

value
Required: Yes
Type: TableMaintenanceConfigurationValue structure

Defines the values of the maintenance configuration for the table.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InternalServerErrorException:

The request failed due to an internal server error.

ForbiddenException:

The caller isn't authorized to make the request.

NotFoundException:

The request was rejected because the specified resource could not be found.

TooManyRequestsException:

The limit on the number of requests per second was exceeded.

ConflictException:

The request failed because there is a conflict with a previous write. You can retry the request.

BadRequestException:

The request is invalid or malformed.

PutTablePolicy

$result = $client->putTablePolicy([/* ... */]);
$promise = $client->putTablePolicyAsync([/* ... */]);

Creates a new table policy or replaces an existing table policy for a table. For more information, see Adding a table policy in the Amazon Simple Storage Service User Guide.

Permissions

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

Parameter Syntax

$result = $client->putTablePolicy([
    'name' => '<string>', // REQUIRED
    'namespace' => '<string>', // REQUIRED
    'resourcePolicy' => '<string>', // REQUIRED
    'tableBucketARN' => '<string>', // REQUIRED
]);

Parameter Details

Members
name
Required: Yes
Type: string

The name of the table.

namespace
Required: Yes
Type: string

The namespace associated with the table.

resourcePolicy
Required: Yes
Type: string

The JSON that defines the policy.

tableBucketARN
Required: Yes
Type: string

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

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InternalServerErrorException:

The request failed due to an internal server error.

ForbiddenException:

The caller isn't authorized to make the request.

NotFoundException:

The request was rejected because the specified resource could not be found.

TooManyRequestsException:

The limit on the number of requests per second was exceeded.

ConflictException:

The request failed because there is a conflict with a previous write. You can retry the request.

BadRequestException:

The request is invalid or malformed.

PutTableRecordExpirationConfiguration

$result = $client->putTableRecordExpirationConfiguration([/* ... */]);
$promise = $client->putTableRecordExpirationConfigurationAsync([/* ... */]);

Creates or updates the expiration configuration settings for records in a table, including the status of the configuration. If you enable record expiration for a table, records expire and are automatically removed from the table after the number of days that you specify.

Permissions

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

Parameter Syntax

$result = $client->putTableRecordExpirationConfiguration([
    'tableArn' => '<string>', // REQUIRED
    'value' => [ // REQUIRED
        'settings' => [
            'days' => <integer>,
        ],
        'status' => 'enabled|disabled',
    ],
]);

Parameter Details

Members
tableArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the table.

value
Required: Yes
Type: TableRecordExpirationConfigurationValue structure

The record expiration configuration to apply to the table, including the status (enabled or disabled) and retention period in days.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InternalServerErrorException:

The request failed due to an internal server error.

MethodNotAllowedException:

The requested operation is not allowed on this resource. This may occur when attempting to modify a resource that is managed by a service or has restrictions that prevent the operation.

ForbiddenException:

The caller isn't authorized to make the request.

NotFoundException:

The request was rejected because the specified resource could not be found.

TooManyRequestsException:

The limit on the number of requests per second was exceeded.

BadRequestException:

The request is invalid or malformed.

PutTableReplication

$result = $client->putTableReplication([/* ... */]);
$promise = $client->putTableReplicationAsync([/* ... */]);

Creates or updates the replication configuration for a specific table. This operation allows you to define table-level replication independently of bucket-level replication, providing granular control over which tables are replicated and where.

Permissions
  • You must have the s3tables:PutTableReplication permission to use this operation. The IAM role specified in the configuration must have permissions to read from the source table and write to all destination tables.

  • You must also have the following permissions:

    • s3tables:GetTable permission on the source table being replicated.

    • s3tables:CreateTable permission for the destination.

    • s3tables:CreateNamespace permission for the destination.

    • s3tables:GetTableMaintenanceConfig permission for the source table.

    • s3tables:PutTableMaintenanceConfig permission for the destination table.

  • You must have iam:PassRole permission with condition allowing roles to be passed to replication.s3tables.amazonaws.com.

Parameter Syntax

$result = $client->putTableReplication([
    'configuration' => [ // REQUIRED
        'role' => '<string>', // REQUIRED
        'rules' => [ // REQUIRED
            [
                'destinations' => [ // REQUIRED
                    [
                        'destinationTableBucketARN' => '<string>', // REQUIRED
                    ],
                    // ...
                ],
            ],
            // ...
        ],
    ],
    'tableArn' => '<string>', // REQUIRED
    'versionToken' => '<string>',
]);

Parameter Details

Members
configuration
Required: Yes
Type: TableReplicationConfiguration structure

The replication configuration to apply to the table, including the IAM role and replication rules.

tableArn
Required: Yes
Type: string

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

versionToken
Type: string

A version token from a previous GetTableReplication call. Use this token to ensure you're updating the expected version of the configuration.

Result Syntax

[
    'status' => '<string>',
    'versionToken' => '<string>',
]

Result Details

Members
status
Required: Yes
Type: string

The status of the replication configuration operation.

versionToken
Required: Yes
Type: string

A new version token representing the updated replication configuration.

Errors

InternalServerErrorException:

The request failed due to an internal server error.

ForbiddenException:

The caller isn't authorized to make the request.

NotFoundException:

The request was rejected because the specified resource could not be found.

AccessDeniedException:

The action cannot be performed because you do not have the required permission.

TooManyRequestsException:

The limit on the number of requests per second was exceeded.

ConflictException:

The request failed because there is a conflict with a previous write. You can retry the request.

BadRequestException:

The request is invalid or malformed.

RenameTable

$result = $client->renameTable([/* ... */]);
$promise = $client->renameTableAsync([/* ... */]);

Renames a table or a namespace. For more information, see S3 Tables in the Amazon Simple Storage Service User Guide.

Permissions

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

Parameter Syntax

$result = $client->renameTable([
    'name' => '<string>', // REQUIRED
    'namespace' => '<string>', // REQUIRED
    'newName' => '<string>',
    'newNamespaceName' => '<string>',
    'tableBucketARN' => '<string>', // REQUIRED
    'versionToken' => '<string>',
]);

Parameter Details

Members
name
Required: Yes
Type: string

The current name of the table.

namespace
Required: Yes
Type: string

The namespace associated with the table.

newName
Type: string

The new name for the table.

newNamespaceName
Type: string

The new name for the namespace.

tableBucketARN
Required: Yes
Type: string

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

versionToken
Type: string

The version token of the table.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InternalServerErrorException:

The request failed due to an internal server error.

ForbiddenException:

The caller isn't authorized to make the request.

NotFoundException:

The request was rejected because the specified resource could not be found.

TooManyRequestsException:

The limit on the number of requests per second was exceeded.

ConflictException:

The request failed because there is a conflict with a previous write. You can retry the request.

BadRequestException:

The request is invalid or malformed.

TagResource

$result = $client->tagResource([/* ... */]);
$promise = $client->tagResourceAsync([/* ... */]);

Applies one or more user-defined tags to an Amazon S3 Tables resource or updates existing tags. Each tag is a label consisting of a key and value pair. Tags can help you organize, track costs for, and control access to your resources. You can add up to 50 tags for each S3 resource.

For a list of S3 resources that support tagging, see Managing tags for Amazon S3 resources.

Permissions

For tables and table buckets, you must have the s3tables:TagResource permission to use this operation.

Parameter Syntax

$result = $client->tagResource([
    'resourceArn' => '<string>', // REQUIRED
    'tags' => ['<string>', ...], // REQUIRED
]);

Parameter Details

Members
resourceArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the Amazon S3 Tables resource that you're applying tags to. The tagged resource can be a table bucket or a table. For a list of all S3 resources that support tagging, see Managing tags for Amazon S3 resources.

tags
Required: Yes
Type: Associative array of custom strings keys (TagKey) to strings

The user-defined tag that you want to add to the specified S3 Tables resource. For more information, see Tagging for cost allocation or attribute-based access control (ABAC).

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InternalServerErrorException:

The request failed due to an internal server error.

ForbiddenException:

The caller isn't authorized to make the request.

NotFoundException:

The request was rejected because the specified resource could not be found.

TooManyRequestsException:

The limit on the number of requests per second was exceeded.

ConflictException:

The request failed because there is a conflict with a previous write. You can retry the request.

BadRequestException:

The request is invalid or malformed.

UntagResource

$result = $client->untagResource([/* ... */]);
$promise = $client->untagResourceAsync([/* ... */]);

Removes the specified user-defined tags from an Amazon S3 Tables resource. You can pass one or more tag keys.

For a list of S3 resources that support tagging, see Managing tags for Amazon S3 resources.

Permissions

For tables and table buckets, you must have the s3tables:UntagResource permission to use this operation.

Parameter Syntax

$result = $client->untagResource([
    'resourceArn' => '<string>', // REQUIRED
    'tagKeys' => ['<string>', ...], // REQUIRED
]);

Parameter Details

Members
resourceArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the Amazon S3 Tables resource that you're removing tags from. The tagged resource can be a table bucket or a table. For a list of all S3 resources that support tagging, see Managing tags for Amazon S3 resources.

tagKeys
Required: Yes
Type: Array of strings

The array of tag keys that you're removing from the S3 Tables resource. For more information, see Tagging for cost allocation or attribute-based access control (ABAC).

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InternalServerErrorException:

The request failed due to an internal server error.

ForbiddenException:

The caller isn't authorized to make the request.

NotFoundException:

The request was rejected because the specified resource could not be found.

TooManyRequestsException:

The limit on the number of requests per second was exceeded.

ConflictException:

The request failed because there is a conflict with a previous write. You can retry the request.

BadRequestException:

The request is invalid or malformed.

UpdateTableMetadataLocation

$result = $client->updateTableMetadataLocation([/* ... */]);
$promise = $client->updateTableMetadataLocationAsync([/* ... */]);

Updates the metadata location for a table. The metadata location of a table must be an S3 URI that begins with the table's warehouse location. The metadata location for an Apache Iceberg table must end with .metadata.json, or if the metadata file is Gzip-compressed, .metadata.json.gz.

Permissions

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

Parameter Syntax

$result = $client->updateTableMetadataLocation([
    'metadataLocation' => '<string>', // REQUIRED
    'name' => '<string>', // REQUIRED
    'namespace' => '<string>', // REQUIRED
    'tableBucketARN' => '<string>', // REQUIRED
    'versionToken' => '<string>', // REQUIRED
]);

Parameter Details

Members
metadataLocation
Required: Yes
Type: string

The new metadata location for the table.

name
Required: Yes
Type: string

The name of the table.

namespace
Required: Yes
Type: string

The namespace of the table.

tableBucketARN
Required: Yes
Type: string

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

versionToken
Required: Yes
Type: string

The version token of the table.

Result Syntax

[
    'metadataLocation' => '<string>',
    'name' => '<string>',
    'namespace' => ['<string>', ...],
    'tableARN' => '<string>',
    'versionToken' => '<string>',
]

Result Details

Members
metadataLocation
Required: Yes
Type: string

The metadata location of the table.

name
Required: Yes
Type: string

The name of the table.

namespace
Required: Yes
Type: Array of strings

The namespace the table is associated with.

tableARN
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the table.

versionToken
Required: Yes
Type: string

The version token of the table.

Errors

InternalServerErrorException:

The request failed due to an internal server error.

ForbiddenException:

The caller isn't authorized to make the request.

NotFoundException:

The request was rejected because the specified resource could not be found.

TooManyRequestsException:

The limit on the number of requests per second was exceeded.

ConflictException:

The request failed because there is a conflict with a previous write. You can retry the request.

BadRequestException:

The request is invalid or malformed.

Shapes

AccessDeniedException

Description

The action cannot be performed because you do not have the required permission.

Members
message
Type: string

BadRequestException

Description

The request is invalid or malformed.

Members
message
Type: string

ConflictException

Description

The request failed because there is a conflict with a previous write. You can retry the request.

Members
message
Type: string

EncryptionConfiguration

Description

Configuration specifying how data should be encrypted. This structure defines the encryption algorithm and optional KMS key to be used for server-side encryption.

Members
kmsKeyArn
Type: string

The Amazon Resource Name (ARN) of the KMS key to use for encryption. This field is required only when sseAlgorithm is set to aws:kms.

sseAlgorithm
Required: Yes
Type: string

The server-side encryption algorithm to use. Valid values are AES256 for S3-managed encryption keys, or aws:kms for Amazon Web Services KMS-managed encryption keys. If you choose SSE-KMS encryption you must grant the S3 Tables maintenance principal access to your KMS key. For more information, see Permissions requirements for S3 Tables SSE-KMS encryption.

ForbiddenException

Description

The caller isn't authorized to make the request.

Members
message
Type: string

IcebergCompactionSettings

Description

Contains details about the compaction settings for an Iceberg table.

Members
strategy
Type: string

The compaction strategy to use for the table. This determines how files are selected and combined during compaction operations.

targetFileSizeMB
Type: int

The target file size for the table in MB.

IcebergMetadata

Description

Contains details about the metadata for an Iceberg table.

Members
properties
Type: Associative array of custom strings keys (String) to strings

Contains configuration properties for an Iceberg table.

schema
Required: Yes
Type: IcebergSchema structure

The schema for an Iceberg table.

IcebergSchema

Description

Contains details about the schema for an Iceberg table.

Members
fields
Required: Yes
Type: Array of SchemaField structures

The schema fields for the table

IcebergSnapshotManagementSettings

Description

Contains details about the snapshot management settings for an Iceberg table. The oldest snapshot expires when its age exceeds the maxSnapshotAgeHours and the total number of snapshots exceeds the value for the minimum number of snapshots to keep minSnapshotsToKeep.

Members
maxSnapshotAgeHours
Type: int

The maximum age of a snapshot before it can be expired.

minSnapshotsToKeep
Type: int

The minimum number of snapshots to keep.

IcebergUnreferencedFileRemovalSettings

Description

Contains details about the unreferenced file removal settings for an Iceberg table bucket.

Members
nonCurrentDays
Type: int

The number of days an object has to be non-current before it is deleted.

unreferencedDays
Type: int

The number of days an object has to be unreferenced before it is marked as non-current.

InternalServerErrorException

Description

The request failed due to an internal server error.

Members
message
Type: string

LastSuccessfulReplicatedUpdate

Description

Contains information about the most recent successful replication update to a destination.

Members
metadataLocation
Required: Yes
Type: string

The S3 location of the metadata that was successfully replicated.

timestamp
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp when the replication update completed successfully.

ManagedTableInformation

Description

Contains information about tables that are managed by S3 Tables, including replication information for replica tables.

Members
replicationInformation
Type: ReplicationInformation structure

If this table is a replica, contains information about the source table from which it is replicated.

MethodNotAllowedException

Description

The requested operation is not allowed on this resource. This may occur when attempting to modify a resource that is managed by a service or has restrictions that prevent the operation.

Members
message
Type: string

NamespaceSummary

Description

Contains details about a namespace.

Members
createdAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time the namespace was created at.

createdBy
Required: Yes
Type: string

The ID of the account that created the namespace.

namespace
Required: Yes
Type: Array of strings

The name of the namespace.

namespaceId
Type: string

The system-assigned unique identifier for the namespace.

ownerAccountId
Required: Yes
Type: string

The ID of the account that owns the namespace.

tableBucketId
Type: string

The system-assigned unique identifier for the table bucket that contains this namespace.

NotFoundException

Description

The request was rejected because the specified resource could not be found.

Members
message
Type: string

ReplicationDestination

Description

Specifies a destination table bucket for replication.

Members
destinationTableBucketARN
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the destination table bucket where tables will be replicated.

ReplicationDestinationStatusModel

Description

Contains status information for a replication destination, including the current replication state, last successful update, and any error messages.

Members
destinationTableArn
Type: string

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

destinationTableBucketArn
Required: Yes
Type: string

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

failureMessage
Type: string

If replication has failed, this field contains an error message describing the failure reason.

lastSuccessfulReplicatedUpdate

Information about the most recent successful replication update to this destination.

replicationStatus
Required: Yes
Type: string

The current status of replication to this destination.

ReplicationInformation

Description

Contains information about the source of a replicated table.

Members
sourceTableARN
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the source table from which this table is replicated.

SchemaField

Description

Contains details about a schema field.

Members
name
Required: Yes
Type: string

The name of the field.

required
Type: boolean

A Boolean value that specifies whether values are required for each row in this field. By default, this is false and null values are allowed in the field. If this is true the field does not allow null values.

type
Required: Yes
Type: string

The field type. S3 Tables supports all Apache Iceberg primitive types. For more information, see the Apache Iceberg documentation.

StorageClassConfiguration

Description

The configuration details for the storage class of tables or table buckets. This allows you to optimize storage costs by selecting the appropriate storage class based on your access patterns and performance requirements.

Members
storageClass
Required: Yes
Type: string

The storage class for the table or table bucket. Valid values include storage classes optimized for different access patterns and cost profiles.

TableBucketMaintenanceConfigurationValue

Description

Details about the values that define the maintenance configuration for a table bucket.

Members
settings

Contains details about the settings of the maintenance configuration.

status
Type: string

The status of the maintenance configuration.

TableBucketMaintenanceSettings

Description

Contains details about the maintenance settings for the table bucket.

Members
icebergUnreferencedFileRemoval

The unreferenced file removal settings for the table bucket.

TableBucketReplicationConfiguration

Description

The replication configuration for a table bucket. This configuration defines how tables in the source bucket are replicated to destination table buckets, including the IAM role used for replication.

Members
role
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the IAM role that S3 Tables assumes to replicate tables on your behalf.

rules
Required: Yes
Type: Array of TableBucketReplicationRule structures

An array of replication rules that define which tables to replicate and where to replicate them.

TableBucketReplicationRule

Description

Defines a rule for replicating tables from a source table bucket to one or more destination table buckets.

Members
destinations
Required: Yes
Type: Array of ReplicationDestination structures

An array of destination table buckets where tables should be replicated.

TableBucketSummary

Description

Contains details about a table bucket.

Members
arn
Required: Yes
Type: string

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

createdAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time the table bucket was created at.

name
Required: Yes
Type: string

The name of the table bucket.

ownerAccountId
Required: Yes
Type: string

The ID of the account that owns the table bucket.

tableBucketId
Type: string

The system-assigned unique identifier for the table bucket.

type
Type: string

The type of the table bucket.

TableMaintenanceConfigurationValue

Description

The values that define a maintenance configuration for a table.

Members
settings
Type: TableMaintenanceSettings structure

Contains details about the settings for the maintenance configuration.

status
Type: string

The status of the maintenance configuration.

TableMaintenanceJobStatusValue

Description

Details about the status of a maintenance job.

Members
failureMessage
Type: string

The failure message of a failed job.

lastRunTimestamp
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time that the maintenance job was last run.

status
Required: Yes
Type: string

The status of the job.

TableMaintenanceSettings

Description

Contains details about maintenance settings for the table.

Members
icebergCompaction
Type: IcebergCompactionSettings structure

Contains details about the Iceberg compaction settings for the table.

icebergSnapshotManagement

Contains details about the Iceberg snapshot management settings for the table.

TableMetadata

Description

Contains details about the table metadata.

Members
iceberg
Type: IcebergMetadata structure

Contains details about the metadata of an Iceberg table.

TableRecordExpirationConfigurationValue

Description

The expiration configuration settings for records in a table, and the status of the configuration. If the status of the configuration is enabled, records expire and are automatically removed after the number of days specified in the record expiration settings for the table.

Members
settings

The expiration settings for records in the table.

status
Type: string

The status of the expiration settings for records in the table.

TableRecordExpirationJobMetrics

Description

Provides metrics for the record expiration job that most recently ran for a table. The metrics provide insight into the amount of data that was removed when the job ran.

Members
deletedDataFiles
Type: long (int|float)

The total number of data files that were removed when the job ran.

deletedRecords
Type: long (int|float)

The total number of records that were removed when the job ran.

removedFilesSize
Type: long (int|float)

The total size (in bytes) of the data files that were removed when the job ran.

TableRecordExpirationSettings

Description

The record expiration setting that specifies when records expire and are automatically removed from a table.

Members
days
Type: int

If you enable record expiration for a table, you can specify the number of days to retain your table records. For example, to retain your table records for one year, set this value to 365.

TableReplicationConfiguration

Description

The replication configuration for an individual table. This configuration defines how the table is replicated to destination tables.

Members
role
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the IAM role that S3 Tables assumes to replicate the table on your behalf.

rules
Required: Yes
Type: Array of TableReplicationRule structures

An array of replication rules that define where this table should be replicated.

TableReplicationRule

Description

Defines a rule for replicating a table to one or more destination tables.

Members
destinations
Required: Yes
Type: Array of ReplicationDestination structures

An array of destination table buckets where this table should be replicated.

TableSummary

Description

Contains details about a table.

Members
createdAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time the table was created at.

managedByService
Type: string

The Amazon Web Services service managing this table, if applicable. For example, a replicated table is managed by the S3 Tables replication service.

modifiedAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time the table was last modified at.

name
Required: Yes
Type: string

The name of the table.

namespace
Required: Yes
Type: Array of strings

The name of the namespace.

namespaceId
Type: string

The unique identifier for the namespace that contains this table.

tableARN
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the table.

tableBucketId
Type: string

The unique identifier for the table bucket that contains this table.

type
Required: Yes
Type: string

The type of the table.

TooManyRequestsException

Description

The limit on the number of requests per second was exceeded.

Members
message
Type: string