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
,
"ExportType": "string
",
"IncrementalExportSpecification": {
"ExportFromTime": number
,
"ExportToTime": number
,
"ExportViewType": "string
"
},
"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
Length Constraints: Maximum length of 255.
Pattern:
^[a-z0-9A-Z]+[\.\-\w]*[a-z0-9A-Z]+$
Required: Yes
- TableArn
-
The Amazon Resource Name (ARN) associated with the table to export.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 1024.
Required: Yes
- ClientToken
-
Providing a
ClientToken
makes the call toExportTableToPointInTimeInput
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
ImportConflictException
.Type: String
Pattern:
^[^\$]+$
Required: No
- ExportFormat
-
The format for the exported data. Valid values for
ExportFormat
areDYNAMODB_JSON
orION
.Type: String
Valid Values:
DYNAMODB_JSON | ION
Required: No
- ExportTime
-
Time in the past from which to export table data, counted in seconds from the start of the Unix epoch. The table export will be a snapshot of the table's state at this point in time.
Type: Timestamp
Required: No
- ExportType
-
Choice of whether to execute as a full export or incremental export. Valid values are FULL_EXPORT or INCREMENTAL_EXPORT. The default value is FULL_EXPORT. If INCREMENTAL_EXPORT is provided, the IncrementalExportSpecification must also be used.
Type: String
Valid Values:
FULL_EXPORT | INCREMENTAL_EXPORT
Required: No
- IncrementalExportSpecification
-
Optional object containing the parameters specific to an incremental export.
Type: IncrementalExportSpecification object
Required: No
- S3BucketOwner
-
The ID of the AWS account that owns the bucket the export will be stored in.
Note
S3BucketOwner is a required parameter when exporting to a S3 bucket in another account.
Type: String
Pattern:
[0-9]{12}
Required: No
- S3Prefix
-
The Amazon S3 bucket prefix to use as the file name and path of the exported snapshot.
Type: String
Length Constraints: Maximum length of 1024.
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,
"ExportType": "string",
"FailureCode": "string",
"FailureMessage": "string",
"IncrementalExportSpecification": {
"ExportFromTime": number,
"ExportToTime": number,
"ExportViewType": "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.
For most purposes, up to 500 simultaneous table operations are allowed per account. These operations include
CreateTable
,UpdateTable
,DeleteTable
,UpdateTimeToLive
,RestoreTableFromBackup
, andRestoreTableToPointInTime
.When you are creating a table with one or more secondary indexes, you can have up to 250 such requests running at a time. However, if the table or index specifications are complex, then DynamoDB might temporarily reduce the number of concurrent operations.
When importing into DynamoDB, up to 50 simultaneous import table operations are allowed per account.
There is a soft account quota of 2,500 tables.
GetRecords was called with a value of more than 1000 for the limit request parameter.
More than 2 processes are reading from the same streams shard at the same time. Exceeding this limit may result in request throttling.
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 or the subscriber is operating in the wrong AWS Region.HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: