从备份还原 DynamoDB 表 - Amazon DynamoDB
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

从备份还原 DynamoDB 表

本节介绍如何使用 Amazon DynamoDB 控制台或 Amazon Command Line Interface (Amazon CLI) 从备份还原表。

注意

如果要使用 Amazon CLI,必须先对其进行配置。有关更多信息,请参阅 访问 DynamoDB

从备份还原表(控制台)

以下过程演示如何使用在Music教程中创建的 MusicBackup 文件还原 备份 DynamoDB 表 表。

注意

此过程假定在使用 MusicBackup 文件还原 Music 表之前,该表已不再存在。

从备份还原表
  1. 登录 Amazon Web Services Management Console,打开 DynamoDB 控制台:https://console.aws.amazon.com/dynamodb/

  2. 在控制台左侧的导航窗格中,选择 Backups (备份)

  3. 在备份列表中,选择 MusicBackup

    
                        备份列表和“Create backup (创建备份)”按钮的屏幕截图。
  4. 选择还原

  5. 输入 Music 作为新表名称。确认备份名称和其他备份详细信息。然后选择 Restore table (还原表) 来启动还原过程。

    注意

    可以将表还原到同一 Amazon 区域或备份所在的其他区域。您还可以阻止在新的还原表上创建二级索引。此外,您可以指定其他加密模式。

    从备份中还原的表始终使用 DynamoDB 标准表类别创建。

    
                        包含备份表详细信息的“Restore table from backup (从备份中还原表)”屏幕的屏幕截图。

    正在还原的表显示状态为 Creating (正在创建)。还原过程完成后,Music 表的状态更改为 Active (活动)

从备份还原表(Amazon CLI)

按照以下步骤操作,使用 Amazon CLI 从在备份 DynamoDB 表教程中创建的 MusicBackup 还原 Music 表。

从备份还原表
  1. 通过使用 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
  2. 从备份还原表。在此情况下,MusicBackupMusic 表还原到相同的 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
  3. 使用自定义表设置从备份中还原表。在此情况下,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 托管式密钥 或客户托管密钥加密的,请不要在还原过程中禁用或删除密钥,否则还原将失败。

恢复操作完成后,您可以更改已还原表的加密密钥,并禁用或删除旧密钥。