Restore a DynamoDB table
Restores the specified DynamoDB table backup to the specified target destination.
Query Parameters
- embed string
Embeds the details of each associated resource. Set the parameter to one of the following embeddable links to include additional details associated with the resource.
For more information about embedded links, refer to the Embedding Referenced Resources section of this guide.Embeddable Link Description read-task Embeds the associated task in the response. For example, ?embed=read-task
- application/json
Request Body required
source object required
The DynamoDB table restore backup or point-in-time restore options. Only one of these fields should be set.
continuous_backup object
The parameters for initiating a DynamoDB table point-in-time restore. Only one of
timestamp
oruse_latest_restorable_time
should be set.table_id string requiredThe Clumio-assigned ID of the DynamoDB table to be restored. Use the GET /datasources/aws/dynamodb-tables endpoint to fetch valid values.
timestamp stringA point in time to be restored in RFC-3339 format.
type stringPossible values: [
clumio_pitr
,aws_pitr
]Default value:
aws_pitr
The type of the backup. Possible values -
clumio_pitr
,aws_pitr
. The type will be assumed asaws_pitr
if the field is left empty.use_latest_restorable_time booleanRestore the table to the latest possible time.
securevault_backup object
The parameters for initiating a DynamoDB table restore from a backup.
backup_id string requiredThe Clumio-assigned ID of the DynamoDB table backup to be restored. Use the GET /backups/aws/dynamodb-tables endpoint to fetch valid values.
target object required
The configuration of the restored DynamoDB table. For restore from snapshot, use the DynamoDB table configurations present at time of snapshot obtained from GET /backups/aws/dynamodb-tables/{backup_id} and for restoring point-in-time, use the current configuration of the table from GET /datasources/aws/dynamodb-tables/{table_id}. The table properties are set to empty or to their default values if they are specified as
null
.billing_mode stringThe billing mode of the DynamoDB table. Possible values are PROVISIONED or PAY_PER_REQUEST. For POST /restores/aws/dynamodb, this is defaulted to the configuration of source table if both 'billing_mode' and 'provisioned_throughput' are empty or
null
.environment_id string requiredThe Clumio-assigned ID of the AWS environment to be used as the restore destination. Use the GET /datasources/aws/environments endpoint to fetch valid values.
global_secondary_indexes object[]
Describes the global secondary indexes of the DynamoDB table. For POST /restores/aws/dynamodb, a subset of the source tables' global_secondary_indexes can be specified. The restored table will not have any global secondary indexes if this is specified empty or
null
.index_name string requiredThe name of the global secondary index.
key_schema object[] required
The complete key schema for a global secondary index, which consists of one or more pairs of attribute names and key types.
attribute_name string requiredThe name of a key attribute.
key_type string requiredThe role that this key attribute will assume. Possible values include:
HASH
- partition key andRANGE
- sort key.projection object required
Represents attributes that are copied (projected) from the table into an index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.
non_key_attributes string[]Represents the non-key attribute names which will be projected into the index. For POST /restores/aws/dynamodb, this must be empty if 'projection_type' is ALL or KEYS_ONLY, and non-empty if 'projection_type' is INCLUDE.
projection_type stringThe set of attributes that are projected into the index. Valid Values: ALL, KEYS_ONLY, INCLUDE.
provisioned_throughput object
Represents the provisioned throughput settings for a DynamoDB table.
read_capacity_units int64 requiredThe maximum number of strongly consistent reads consumed per second.
write_capacity_units int64 requiredThe maximum number of writes consumed per second.
global_table_version stringDescribes the version of global tables in use, if the table is replicated across AWS Regions. If the table is not a global table, then this field has a value of
null
. Possible values are 2017.11.29 or 2019.11.21. For POST /restores/aws/dynamodb, the version is defaulted to 2019.11.21.local_secondary_indexes object[]
Describes the local secondary indexes of the DynamoDB table. For POST /restores/aws/dynamodb, a subset of the source tables' local_secondary_indexes can be specified. The restored table will not have any local secondary indexes if this is specified empty or
null
.index_name string requiredThe name of the local secondary index
key_schema object[] required
The complete key schema for the local secondary index, consisting of one or more pairs of attribute names and key types.
attribute_name string requiredThe name of a key attribute.
key_type string requiredThe role that this key attribute will assume. Possible values include:
HASH
- partition key andRANGE
- sort key.projection object required
Represents attributes that are copied (projected) from the table into an index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.
non_key_attributes string[]Represents the non-key attribute names which will be projected into the index. For POST /restores/aws/dynamodb, this must be empty if 'projection_type' is ALL or KEYS_ONLY, and non-empty if 'projection_type' is INCLUDE.
projection_type stringThe set of attributes that are projected into the index. Valid Values: ALL, KEYS_ONLY, INCLUDE.
pitr_status booleanIndicates whether DynamoDB Continuous Backup (PITR) is enabled (true) or disabled (false) on the table. For POST /restores/aws/dynamodb, this is defaulted to the value set in backup if
null
.provisioned_throughput object
Represents the provisioned throughput settings for a DynamoDB table.
read_capacity_units int64 requiredThe maximum number of strongly consistent reads consumed per second.
write_capacity_units int64 requiredThe maximum number of writes consumed per second.
replicas object[]
Describes the replicas of the table, if the table is replicated across AWS Regions. Not applicable for POST /restores/aws/dynamodb currently, but will be used to specify the replication group information in a future release.
global_secondary_indexes object[]
The replica-specific global secondary index settings.
index_name string requiredThe name of the global secondary index.
provisioned_throughput_override object
Replica-specific provisioned throughput settings. If not specified, uses the source table's provisioned throughput settings.
read_capacity_units int64The maximum number of strongly consistent reads consumed per second.
kms_master_key_id stringThe AWS KMS key of the replica that will be used for AWS KMS encryption.
provisioned_throughput_override object
Replica-specific provisioned throughput settings. If not specified, uses the source table's provisioned throughput settings.
read_capacity_units int64The maximum number of strongly consistent reads consumed per second.
region_name string requiredThe name of the Region.
sse_specification object
Represents the server-side encryption settings for a table.
kms_key_type stringThe server-side encryption KMS key type. This field will only be populated for GET /datasources/aws/dynamodb-tables/{table_id} and GET /backups/aws/dynamodb-tables/{backup_id}. For POST /restores/aws/dynamodb,
kms_master_key_id
must be specified in case of CUSTOMER_MANAGED. Possible values include: DEFAULT, AWS_MANAGED, CUSTOMER_MANAGED.kms_master_key_id stringThe AWS KMS customer master key (CMK) ARN that is used to encrypt the table. If this field is
null
, server-side encryption is the default encryption (AWS owned CMK). Otherwise, an AWS-managed or customer-managed CMK exists having these values. For POST /restores/aws/dynamodb, use key ID, Amazon Resource Name (ARN), alias name or alias ARN to specify a key to be used for encrypting the restored table. In case of default encryption (AWS owned CMK), specify this asnull
.stream_specification object
Represents the DynamoDB Streams configuration for a table in DynamoDB. and the data type (
S
for string,N
for number,B
for binary).enabled booleanIndicates whether DynamoDB Streams is enabled (true) or disabled (false) on the table.
view_type stringWhen an item in the table is modified, ViewType determines what information is written to the stream for this table. Valid values for ViewType are:
KEYS_ONLY - Only the key attributes of the modified item are written to the stream.
NEW_IMAGE - The entire item, as it appears after it was modified, is written to the stream.
OLD_IMAGE - The entire item, as it appeared before it was modified, is written to the stream.
NEW_AND_OLD_IMAGES - Both the new and the old item images of the item are written to the stream.
table_class stringThe table class of the DynamoDB table. Possible values are STANDARD or STANDARD_INFREQUENT_ACCESS. For POST /restores/aws/dynamodb, this is defaulted to the STANDARD storage class if empty.
table_name string requiredThe name of the new table to which the backup must be restored.
tags object[]
The AWS tags to be applied to the restored table. The tags are stored in the AWS cloud as part of your AWS account. A DynamoDB table can be have multiple tags. To find the tags that were applied to the original table, use the GET /datasources/aws/dynamodb-tables/{table_id} endpoint to display the original table's tag keys (
tags.key
) and tag values (tags.value
). The restored table will not have any tags applied if this is specified asnull
.key string requiredThe AWS-assigned tag key.
value stringThe AWS-assigned tag value.
- 202
- default
Success
- application/api.clumio.restored-aws-dynamodb-tables=v1+json
- Schema
- Example (from schema)
Schema
_embedded object
Embedded responses related to the resource.
read-task Embeds the associated task of a resource in the response if requested using the `embed` query parameter.Embeds the associated task of a resource in the response if requested using the
embed
query parameter._links object
URLs to pages related to the resource.
_self object
The HATEOAS link to this resource.
href stringThe URI for the referenced operation.
templated booleanDetermines whether the "href" link is a URI template. If set to
true
, the "href" link is a URI template.type stringThe HTTP method to be used with the "href" link for the referenced operation.
read-task object
A HATEOAS link to the task associated with this resource.
href stringThe URI for the referenced operation.
templated booleanDetermines whether the "href" link is a URI template. If set to
true
, the "href" link is a URI template.type stringThe HTTP method to be used with the "href" link for the referenced operation.
- task_id string
The Clumio-assigned ID of the task created by this restore request. The progress of the task can be monitored using the
GET /tasks/{task_id}
endpoint.
{
"_embedded": {},
"_links": {
"_self": {
"href": "string",
"templated": true,
"type": "string"
},
"read-task": {
"href": "string",
"templated": true,
"type": "string"
}
},
"task_id": "string"
}
Error
- application/json
- Schema
- Example (from schema)
Schema
errors object[]
A list of errors encountered during runtime.
error_code uint32error_message stringThe reason for the error.
{
"errors": [
{
"error_code": 0,
"error_message": "string"
}
]
}