Creates a new table from a table in an Amazon Redshift cluster snapshot. You must create the new table within the Amazon Redshift cluster that the snapshot was taken from.
You cannot use RestoreTableFromClusterSnapshot to restore a table with the same name as an existing table in an Amazon Redshift cluster. That is, you cannot overwrite an existing table in a cluster with a restored table. If you want to replace your original table with a new, restored table, then rename or drop your original table before you call RestoreTableFromClusterSnapshot . When you have renamed your original table, then you can pass the original name of the table as the NewTableName parameter value in the call to RestoreTableFromClusterSnapshot . This way, you can replace the original table with the table created from the snapshot.
See also: AWS API Documentation
See ‘aws help’ for descriptions of global parameters.
restore-table-from-cluster-snapshot
--cluster-identifier <value>
--snapshot-identifier <value>
--source-database-name <value>
[--source-schema-name <value>]
--source-table-name <value>
[--target-database-name <value>]
[--target-schema-name <value>]
--new-table-name <value>
[--enable-case-sensitive-identifier | --no-enable-case-sensitive-identifier]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
--cluster-identifier (string)
The identifier of the Amazon Redshift cluster to restore the table to.
--snapshot-identifier (string)
The identifier of the snapshot to restore the table from. This snapshot must have been created from the Amazon Redshift cluster specified by the
ClusterIdentifierparameter.
--source-database-name (string)
The name of the source database that contains the table to restore from.
--source-schema-name (string)
The name of the source schema that contains the table to restore from. If you do not specify a
SourceSchemaNamevalue, the default ispublic.
--source-table-name (string)
The name of the source table to restore from.
--target-database-name (string)
The name of the database to restore the table to.
--target-schema-name (string)
The name of the schema to restore the table to.
--new-table-name (string)
The name of the table to create as a result of the current request.
--enable-case-sensitive-identifier | --no-enable-case-sensitive-identifier (boolean)
Indicates whether name identifiers for database, schema, and table are case sensitive. If
true, the names are case sensitive. Iffalse(default), the names are not case sensitive.
--cli-input-json | --cli-input-yaml (string)
Reads arguments from the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton. If other arguments are provided on the command line, those values will override the JSON-provided values. It is not possible to pass arbitrary binary values using a JSON-provided value as the string will be taken literally. This may not be specified along with --cli-input-yaml.
--generate-cli-skeleton (string)
Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value input, prints a sample input JSON that can be used as an argument for --cli-input-json. Similarly, if provided yaml-input it will print a sample input YAML that can be used with --cli-input-yaml. If provided with the value output, it validates the command inputs and returns a sample output JSON for that command.
See ‘aws help’ for descriptions of global parameters.
To restore table from a cluster snapshot
The following restore-table-from-cluster-snapshot example creates a new table from the specified table in the specified cluster snapshot.
aws redshift restore-table-from-cluster-snapshot /
--cluster-identifier mycluster /
--snapshot-identifier mycluster-2019-11-19-16-17 /
--source-database-name dev /
--source-schema-name public /
--source-table-name mytable /
--target-database-name dev /
--target-schema-name public /
--new-table-name mytable-clone
Output:
{
"TableRestoreStatus": {
"TableRestoreRequestId": "a123a12b-abc1-1a1a-a123-a1234ab12345",
"Status": "PENDING",
"RequestTime": "2019-12-20T00:20:16.402Z",
"ClusterIdentifier": "mycluster",
"SnapshotIdentifier": "mycluster-2019-11-19-16-17",
"SourceDatabaseName": "dev",
"SourceSchemaName": "public",
"SourceTableName": "mytable",
"TargetDatabaseName": "dev",
"TargetSchemaName": "public",
"NewTableName": "mytable-clone"
}
}
For more information, see Restoring a Table from a Snapshot in the Amazon Redshift Cluster Management Guide.
TableRestoreStatus -> (structure)
Describes the status of a RestoreTableFromClusterSnapshot operation.
TableRestoreRequestId -> (string)
The unique identifier for the table restore request.
Status -> (string)
A value that describes the current state of the table restore request.
Valid Values:
SUCCEEDED,FAILED,CANCELED,PENDING,IN_PROGRESSMessage -> (string)
A description of the status of the table restore request. Status values include
SUCCEEDED,FAILED,CANCELED,PENDING,IN_PROGRESS.RequestTime -> (timestamp)
The time that the table restore request was made, in Universal Coordinated Time (UTC).
ProgressInMegaBytes -> (long)
The amount of data restored to the new table so far, in megabytes (MB).
TotalDataInMegaBytes -> (long)
The total amount of data to restore to the new table, in megabytes (MB).
ClusterIdentifier -> (string)
The identifier of the Amazon Redshift cluster that the table is being restored to.
SnapshotIdentifier -> (string)
The identifier of the snapshot that the table is being restored from.
SourceDatabaseName -> (string)
The name of the source database that contains the table being restored.
SourceSchemaName -> (string)
The name of the source schema that contains the table being restored.
SourceTableName -> (string)
The name of the source table being restored.
TargetDatabaseName -> (string)
The name of the database to restore the table to.
TargetSchemaName -> (string)
The name of the schema to restore the table to.
NewTableName -> (string)
The name of the table to create as a result of the table restore request.