ExportTableToPointInTime - Amazon DynamoDB

ExportTableToPointInTime

Exports table data to an S3 bucket. The table must have point in time recovery enabled, and you can export data from any time within the point in time recovery window.

Request Syntax

{ "ClientToken": "string", "ExportFormat": "string", "ExportTime": number, "S3Bucket": "string", "S3BucketOwner": "string", "S3Prefix": "string", "S3SseAlgorithm": "string", "S3SseKmsKeyId": "string", "TableArn": "string" }

Request Parameters

The request accepts the following data in JSON format.

Note

In the following list, the required parameters are described first.

S3Bucket

The name of the Amazon S3 bucket to export the snapshot to.

Type: String

Required: Yes

TableArn

The Amazon Resource Name (ARN) associated with the table to export.

Type: String

Required: Yes

ClientToken

Providing a ClientToken makes the call to ExportTableToPointInTimeInput idempotent, meaning that multiple identical calls have the same effect as one single call.

A client token is valid for 8 hours after the first request that uses it is completed. After 8 hours, any request with the same client token is treated as a new request. Do not resubmit the same request with the same client token for more than 8 hours, or the result might not be idempotent.

If you submit a request with the same client token but a change in other parameters within the 8-hour idempotency window, DynamoDB returns an IdempotentParameterMismatch exception.

Type: String

Required: No

ExportFormat

The format for the exported data. Valid values for ExportFormat are DYNAMODB_JSON or ION.

Type: String

Valid Values: DYNAMODB_JSON | ION

Required: No

ExportTime

Time in the past from which to export table data. The table export will be a snapshot of the table's state at this point in time.

Type: Timestamp

Required: No

S3BucketOwner

The ID of the AWS account that owns the bucket the export will be stored in.

Type: String

Required: No

S3Prefix

The Amazon S3 bucket prefix to use as the file name and path of the exported snapshot.

Type: String

Required: No

S3SseAlgorithm

Type of encryption used on the bucket where export data will be stored. Valid values for S3SseAlgorithm are:

  • AES256 - server-side encryption with Amazon S3 managed keys

  • KMS - server-side encryption with AWS KMS managed keys

Type: String

Valid Values: AES256 | KMS

Required: No

S3SseKmsKeyId

The ID of the AWS KMS managed key used to encrypt the S3 bucket where export data will be stored (if applicable).

Type: String

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

Required: No

Response Syntax

{ "ExportDescription": { "BilledSizeBytes": number, "ClientToken": "string", "EndTime": number, "ExportArn": "string", "ExportFormat": "string", "ExportManifest": "string", "ExportStatus": "string", "ExportTime": number, "FailureCode": "string", "FailureMessage": "string", "ItemCount": number, "S3Bucket": "string", "S3BucketOwner": "string", "S3Prefix": "string", "S3SseAlgorithm": "string", "S3SseKmsKeyId": "string", "StartTime": number, "TableArn": "string", "TableId": "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.

ExportDescription

Contains a description of the table export.

Type: ExportDescription object

Errors

For information about the errors that are common to all actions, see Common Errors.

ExportConflictException

There was a conflict when writing to the specified S3 bucket.

HTTP Status Code: 400

InternalServerError

An error occurred on the server side.

HTTP Status Code: 500

InvalidExportTimeException

The specified ExportTime is outside of the point in time recovery window.

HTTP Status Code: 400

LimitExceededException

There is no limit to the number of daily on-demand backups that can be taken.

Up to 50 simultaneous table operations are allowed per account. These operations include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup, and RestoreTableToPointInTime.

The only exception is when you are creating a table with one or more secondary indexes. You can have up to 25 such requests running at a time; however, if the table or index specifications are complex, DynamoDB might temporarily reduce the number of concurrent operations.

There is a soft account quota of 256 tables.

HTTP Status Code: 400

PointInTimeRecoveryUnavailableException

Point in time recovery has not yet been enabled for this source table.

HTTP Status Code: 400

TableNotFoundException

A source table with the name TableName does not currently exist within the subscriber's account.

HTTP Status Code: 400

See Also

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