从备份还原 DynamoDB 表
本节介绍如何使用 Amazon DynamoDB 控制台或 Amazon Command Line Interface (Amazon CLI) 从备份还原表。
注意
如果要使用 Amazon CLI,必须先对其进行配置。有关更多信息,请参阅 访问 DynamoDB。
主题
以下过程演示如何使用在Music
教程中创建的 MusicBackup
文件还原 备份 DynamoDB 表 表。
注意
此过程假定在使用 MusicBackup
文件还原 Music
表之前,该表已不再存在。
从备份还原表
登录 Amazon Web Services Management Console,打开 DynamoDB 控制台:https://console.aws.amazon.com/dynamodb/
。 -
在控制台左侧的导航窗格中,选择备份。
-
在备份列表中,选择
MusicBackup
。 -
选择还原。
-
输入
Music
作为新表名称。确认备份名称和其他备份详细信息。然后选择 Restore table (还原表) 来启动还原过程。注意
可以将表还原到同一 Amazon 区域或备份所在的其他区域。您还可以阻止在新的还原表上创建二级索引。此外,您可以指定其他加密模式。
从备份中还原的表始终使用 DynamoDB 标准表类别创建。
正在还原的表显示状态为 Creating (正在创建)。还原过程完成后,
Music
表的状态更改为 Active (活动)。
按照以下步骤操作,使用 Amazon CLI 从在备份 DynamoDB 表教程中创建的 MusicBackup
还原 Music
表。
从备份还原表
-
通过使用
list-backups
命令来确认要还原的备份。此示例使用MusicBackup
。aws dynamodb list-backups
要获取备份的其他详细信息,请使用
describe-backup
命令。您可以从上一步中获取输入backup-arn
。aws dynamodb describe-backup \ --backup-arn arn:aws:dynamodb:us-east-1:123456789012:table/Music/backup/01489173575360-b308cd7d
-
从备份还原表。在此情况下,
MusicBackup
将Music
表还原到相同的 Amazon 区域。aws dynamodb restore-table-from-backup \ --target-table-name Music \ --backup-arn arn:aws:dynamodb:us-east-1:123456789012:table/Music/backup/01489173575360-b308cd7d
-
使用自定义表设置从备份中还原表。在此情况下,
MusicBackup
将还原Music
表并为还原的表指定加密模式。注意
sse-specification-override
参数采用与CreateTable
命令中使用的sse-specification-override
参数相同的值。要了解更多信息,请参阅 管理 DynamoDB 中的加密表。aws dynamodb restore-table-from-backup \ --target-table-name Music \ --backup-arn arn:aws:dynamodb:us-east-1:123456789012:table/Music/backup/01581080476474-e177ebe2 \ --sse-specification-override Enabled=true,SSEType=KMS,KMSMasterKeyId=abcd1234-abcd-1234-a123-ab1234a1b234
可以将表还原到备份所在的其他 Amazon 区域。
注意
-
sse-specification-override
参数对于跨区域还原是必需的,但对于源表所在的区域中的还原是可选的。 -
在从命令行执行跨区域还原时,您必须将默认 Amazon 区域设置为所需的目标区域。要了解更多信息,请参阅《Amazon Command Line Interface 用户指南》中的命令行选项。
aws dynamodb restore-table-from-backup \ --target-table-name Music \ --backup-arn arn:aws:dynamodb:us-east-1:123456789012:table/Music/backup/01581080476474-e177ebe2 \ --sse-specification-override Enabled=true,SSEType=KMS
您可以覆盖已还原表的计费模式和预配置的吞吐量。
aws dynamodb restore-table-from-backup \ --target-table-name Music \ --backup-arn arn:aws:dynamodb:us-east-1:123456789012:table/Music/backup/01489173575360-b308cd7d \ --billing-mode-override PAY_PER_REQUEST
您可以阻止在还原的表上创建部分或所有二级索引。
注意
如果您阻止在还原表上创建部分或所有二级索引,则还原操作会更快且更具成本效益。
aws dynamodb restore-table-from-backup \ --target-table-name Music \ --backup-arn arn:aws:dynamodb:us-east-1:123456789012:table/Music/backup/01581081403719-db9c1f91 \ --global-secondary-index-override '[]' \ --sse-specification-override Enabled=true,SSEType=KMS
注意
提供的二级索引应与现有索引匹配。还原时无法创建新索引。
您可以组合使用不同的替代方式。例如,您可以使用单个全局二级索引并同时更改预配置的吞吐量,如下所示。
aws dynamodb restore-table-from-backup \ --target-table-name Music \ --backup-arn arn:aws:dynamodb:eu-west-1:123456789012:table/Music/backup/01581082594992-303b6239 \ --billing-mode-override PROVISIONED \ --provisioned-throughput-override ReadCapacityUnits=100,WriteCapacityUnits=100 \ --global-secondary-index-override IndexName=singers-index,KeySchema=["{AttributeName=SingerName,KeyType=HASH}"],Projection="{ProjectionType=KEYS_ONLY}",ProvisionedThroughput="{ReadCapacityUnits=5,WriteCapacityUnits=5}" \ --sse-specification-override Enabled=true,SSEType=KMS
-
要验证还原,请使用 describe-table
命令来描述 Music
表。
aws dynamodb describe-table --table-name Music
正在从备份还原的表显示状态为 Creating (正在创建)。还原过程完成后,Music
表的状态更改为 Active (活动)。
重要
正在进行还原时,请勿修改或删除 IAM 角色策略;否则,可能会导致意外行为。例如,假设您在还原表时删除了对该表的写入权限。在这种情况下,底层 RestoreTableFromBackup
操作将无法向表中写入任何还原的数据。
在还原操作完成之后,您可以修改或删除您的 IAM 角色策略。
涉及源 IP 限制访问目标还原表的 IAM policy 的 aws:ViaAWSService
键应设置为,false
确保限制仅适用于委托人直接提出的请求。否则,还原将被取消。
如果您的备份是使用 Amazon 托管式密钥 或客户托管密钥加密的,请不要在还原过程中禁用或删除密钥,否则还原将失败。
恢复操作完成后,您可以更改已还原表的加密密钥,并禁用或删除旧密钥。