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

使 DynamoDB 表还原到某个时间点

Amazon DynamoDB 时间点恢复 (PITR) 提供 DynamoDB 表数据的持续备份。您可以使用 DynamoDB 控制台或 AWS Command Line Interface (AWS CLI) 将表还原到某个时间点。

如果要使用 AWS CLI,您需要先配置它。有关更多信息,请参阅访问 DynamoDB

使表还原到某个时间点 (控制台)

以下示例演示如何使用 DynamoDB 控制台将名为 MusicCollection 的现有表还原到某个时间点。

注意

此过程假定您已启用时间点恢复。要为 MusicCollection 表启用它,请在 Overview (概述) 选项卡上的 Table details (表详细信息) 部分中,为 Point-in-time recovery (时间点恢复) 选择 Enable (启用)

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

  2. 在控制台左侧的导航窗格中,选择 Tables (表)

  3. 在表的列表中,选择 MusicCollection 表。

  4. MusicCollection 表的 Backups (备份) 选项卡上的 Point-in-time recovery (时间点恢复) 部分中,选择 Restore to point-in-time (还原到时间点)

  5. 对于新表名称,键入 MusicCollectionMinutesAgo

  6. 要确认可还原时间,请将 Restore date and time 设置为 Latest restore date (最晚还原日期)。然后选择 Restore table (还原表) 来启动还原过程。

    注意

    您可以还原到 Earliest restore date (最早还原日期)Latest restore date (最晚还原日期) 之间的任何时间点。DynamoDB 使您的表数据还原到基于选定的日期和时间(日:小时:分钟:秒)的状态。

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

使表还原到某个时间点 (AWS CLI)

以下过程演示如何使用 AWS CLI 将名为 MusicCollection 的现有表还原到某个时间点。

注意

此过程假定您已启用时间点恢复。要为 MusicCollection 表启用它,请运行以下命令:

aws dynamodb update-continuous-backups \ --table-name MusicCollection \ --point-in-time-recovery-specification PointInTimeRecoveryEnabled=True
  1. 通过使用 MusicCollection 命令来确认已为 describe-continuous-backups 表启用时间点恢复。

    aws dynamodb describe-continuous-backups \ --table-name MusicCollection

    已启用持续备份 (在创建表时自动启用) 和时间点恢复。

    { "ContinuousBackupsDescription": { "PointInTimeRecoveryDescription": { "PointInTimeRecoveryStatus": "ENABLED", "EarliestRestorableDateTime": 1519257118.0, "LatestRestorableDateTime": 1520018653.01 }, "ContinuousBackupsStatus": "ENABLED" } }
  2. 使表还原到某个时间点。在此示例中,MusicCollection 表还原到 LatestRestorableDateTime (~5 分钟前)。

    aws dynamodb restore-table-to-point-in-time \ --source-table-name MusicCollection \ --target-table-name MusicCollectionMinutesAgo \ --use-latest-restorable-time

    注意

    您还可以还原到特定时间点。为此,请运行使用 --restore-date-time 参数的命令,并指定时间戳。您可以指定最近 35 天内的任何时间点。例如,以下命令使表还原到 EarliestRestorableDateTime

    aws dynamodb restore-table-to-point-in-time \ --source-table-name MusicCollection \ --target-table-name MusicCollectionEarliestRestorableDateTime \ --no-use-latest-restorable-time \ --restore-date-time 1519257118.0

    在还原到特定时间点时,指定 --no-use-latest-restorable-time 参数是可选的。

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

aws dynamodb describe-table --table-name MusicCollection

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

重要

正在还原时,请勿修改或删除授予 IAM 实体(例如,用户、组或角色)执行还原的权限的 AWS Identity and Access Management (IAM) 策略。否则,可能会出现意外行为。例如,假设您在还原表时删除了对该表的写入权限。在这种情况下,底层 RestoreTableToPointInTime 操作将无法向表中写入任何还原的数据。请注意,涉及有关访问目标还原表的源 IP 限制的 IAM 策略也会导致问题。

您只能在还原操作完成之后修改或删除权限。