Amazon DynamoDB
开发人员指南 (API 版本 2012-08-10)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

从备份还原 DynamoDB 表

本节介绍如何使用 DynamoDB 控制台或 AWS Command Line Interface 从备份还原表。(如果要使用 AWS CLI,您需要先配置它。有关更多信息,请参阅 访问 DynamoDB。)

从备份还原表 (控制台)

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

注意

此过程假定在使用 MusicCollection 还原 MusicCollectionBackup 表之前,该表已不再存在。

  1. 登录 AWS 管理控制台 并通过以下网址打开 DynamoDB 控制台:https://console.amazonaws.cn/dynamodb/

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

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

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

    
                        备份列表和突出显示的“Restore backup (还原备份)”按钮的屏幕截图。
  5. 键入 MusicCollection 作为新表名称。确认备份名称和其他备份详细信息。然后选择 Restore table (还原表) 来启动还原过程。

    注意

    您可以排除在创建的新还原表中生成二级索引。

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

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

    
                        表列表和“Active (活动)”状态的屏幕截图。

从备份还原表 (AWS CLI)

按照以下步骤使用 AWS CLI 从在备份 DynamoDB 表教程中创建的 MusicCollectionBackup 还原 MusicCollection 表。开始还原时,您可以选择更新还原的表设置。

  1. 通过使用 list-backups 命令来确认要还原的备份。此示例使用 MusicCollectionBackup.

    aws dynamodb list-backups

    要获取备份的其他详细信息,请使用 describe-backup 命令。您可以从上一步中获取输入 backup-arn

    aws dynamodb describe-backup \ --backup-arn arn:aws:dynamodb:us-east-1:123456789012:table/MusicCollection/backup/01489173575360-b308cd7d
  2. 从备份还原表。在此示例中,MusicCollectionBackup 还原 MusicCollection 表:

    aws dynamodb restore-table-from-backup \ --target-table-name MusicCollection \ --backup-arn arn:aws:dynamodb:us-east-1:123456789012:table/MusicCollection/backup/01489173575360-b308cd7d
  3. 使用自定义表设置从备份中还原表。在此示例中,MusicCollectionBackup 还原 MusicCollection 表。

    注意

    如果您选择排除在新的还原表上生成某些或所有二级索引,则还原可以更快且更具成本效益。

    aws dynamodb restore-table-from-backup \ --target-table-name MusicCollection \ --backup-arn arn:aws:dynamodb:us-east-1:123456789012:table/MusicCollection/backup/01489173575360-b308cd7d \ --global-secondary-indexes-override '[]' --local-secondary-indexes-override '[]'

    您还可以选择有选择地包括二级索引列表。

    注意

    提供的二级索引应与现有索引匹配。还原时无法创建新索引。

    aws dynamodb restore-table-from-backup \ --target-table-name MusicCollection \ --backup-arn arn:aws:dynamodb:us-east-1:123456789012:table/MusicCollection/backup/01489173575360-b308cd7d \ --local-secondary-indexes-override '[{"IndexName":"singers-index","KeySchema":[{"AttributeName":"Singer","KeyType":"HASH"}],"Projection":{"ProjectionType":"ALL"}}]'

    您可以选择覆盖结算表的计费方式和/或预配置的吞吐量:

    aws dynamodb restore-table-from-backup \ --target-table-name MusicCollection \ --backup-arn arn:aws:dynamodb:us-east-1:123456789012:table/MusicCollection/backup/01489173575360-b308cd7d \ --billing-mode-override PAY_PER_REQUEST

    您可以组合使用不同的替代方式。例如,使用单个全局二级索引并且同时更改预配置吞吐量:

    aws dynamodb restore-table-from-backup \ --target-table-name MusicCollection \ --backup-arn arn:aws:dynamodb:us-east-1:123456789012:table/MusicCollection/backup/01489173575360-b308cd7d \ --billing-mode-override PROVISIONED \ --provisioned-throughput-override ReadCapacityUnits=100,WriteCapacityUnits=100 \ --global-secondary-index-override '[{"IndexName":"singers-index","KeySchema":[{"AttributeName":"Id","KeyType":"HASH"}],"Projection":{"ProjectionType":"ALL"},"ProvisionedThroughput":{"ReadCapacityUnits": 100,"WriteCapacityUnits": 100}}]'

要验证还原,请使用 describe-table 命令来描述 MusicCollection 表:

aws dynamodb describe-table --table-name MusicCollection

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

重要

正在进行还原时,不要修改或删除您的 IAM 角色策略;否则,可能会导致意外行为。例如,假设您在还原表时删除了对该表的写入权限。在这种情况下,底层 RestoreTableFromBackup 操作将无法向表中写入任何还原的数据。请注意,涉及有关访问目标还原表的源 IP 限制的 IAM 策略也会导致问题。

在还原操作完成之后,您可以修改或删除您的 IAM 角色策略。