PutTableReplication - Amazon Simple Storage Service

PutTableReplication

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.

Request Syntax

PUT /table-replication?tableArn=tableArn&versionToken=versionToken HTTP/1.1 Content-type: application/json { "configuration": { "role": "string", "rules": [ { "destinations": [ { "destinationTableBucketARN": "string" } ] } ] } }

URI Request Parameters

The request uses the following URI parameters.

tableArn

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

Length Constraints: Minimum length of 1. Maximum length of 2048.

Pattern: (arn:aws[-a-z0-9]*:[a-z0-9]+:[-a-z0-9]*:[0-9]{12}:bucket/[a-z0-9_-]{3,63}/table/[a-zA-Z0-9-_]{1,255})

Required: Yes

versionToken

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

Request Body

The request accepts the following data in JSON format.

configuration

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

Type: TableReplicationConfiguration object

Required: Yes

Response Syntax

HTTP/1.1 200 Content-type: application/json { "status": "string", "versionToken": "string" }

Response Elements

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

status

The status of the replication configuration operation.

Type: String

versionToken

A new version token representing the updated replication configuration.

Type: String

Errors

AccessDeniedException

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

HTTP Status Code: 403

BadRequestException

The request is invalid or malformed.

HTTP Status Code: 400

ConflictException

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

HTTP Status Code: 409

ForbiddenException

The caller isn't authorized to make the request.

HTTP Status Code: 403

InternalServerErrorException

The request failed due to an internal server error.

HTTP Status Code: 500

NotFoundException

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

HTTP Status Code: 404

TooManyRequestsException

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

HTTP Status Code: 429

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: