在 DynamoDB 中启用时间点恢复
Amazon DynamoDB 时间点恢复 (PITR) 提供 DynamoDB 表数据的自动备份。本部分概述在 DynamoDB 中此过程如何运行。
注意
DynamoDB 根据每个 DynamoDB 表的大小(包括表数据和本地二级索引)收取 PITR 费用。为了确定您的备份费用,DynamoDB 会持续监控已开启 PITR 的表的大小。在您为每个表关闭 PITR 之前,您需要按照 PITR 使用量付费。
启用时间点恢复
您可以使用 Amazon Web Services Management Console、Amazon Command Line Interface (Amazon CLI) 或 DynamoDB API 来启用时间点恢复。启用后,时间点恢复将提供持续备份,直到您明确将其关闭。
在启用时间点恢复后,您可以还原到 EarliestRestorableDateTime
和 LatestRestorableDateTime
之间的任何时间点。LatestRestorableDateTime
通常比当前时间早 5 分钟。有关更多信息,请参阅 将 DynamoDB 表还原到某个时间点。
注意
时间点恢复过程始终还原到新表。
启用 PITR(控制台)
使用 DynamoDB 控制台启用 PITR
导航到 DynamoDB 控制台。
从左侧导航栏中选择表,然后选择您的 DynamoDB 表。
在备份选项卡中,对于时间点故障恢复选项,选择编辑。
选择开启时间点故障恢复,然后选择保存更改。
启用 PITR(Amazon CLI)
注意
如果您在运行 Amazon CLI 命令时收到错误,请参阅 Troubleshoot Amazon CLI errors。确保您使用最新的 Amazon CLI 版本。
在开启了 point-in-time-recovery-specification 设置的情况下运行 update-continuous-backups
aws dynamodb update-continuous-backups \ --region us-east-1 \ --table-name <ddb-table-name> \ --point-in-time-recovery-specification PointInTimeRecoveryEnabled=true
启用 PITR(Amazon CloudFormation)
在开启了 PointInTimeRecoverySpecification
属性的情况下使用 AWS::DynamoDB::Table 资源:
Resources: iotCatalog: Type: AWS::DynamoDB::Table Properties: ... PointInTimeRecoverySpecification: PointInTimeRecoveryEnabled: true
请求语法示例:
{ "PointInTimeRecoverySpecification": { "PointInTimeRecoveryEnabled": boolean }, "TableName": "string" }
启用 PITR(API)
在开启了 PointInTimeRecoverySpecification
参数的情况下运行 UpdateContinuousBackups API 操作。
请求语法示例:
{ "PointInTimeRecoverySpecification": { "PointInTimeRecoveryEnabled": boolean }, "TableName": "string" }
响应语法示例:
{ "ContinuousBackupsDescription": { "ContinuousBackupsStatus": "string", "PointInTimeRecoveryDescription": { "EarliestRestorableDateTime": number, "LatestRestorableDateTime": number, "PointInTimeRecoveryStatus": "string" } } }
Python
import boto3 dynamodb = boto3.client('dynamodb') response = dynamodb.update_continuous_backups( TableName=<table_name>, PointInTimeRecoverySpecification={ 'PointInTimeRecoveryEnabled': True } )
在启用了 PITR 的情况下删除表
删除已启用时间点恢复的表时,DynamoDB 将自动创建一个备份快照(称为系统备份),该备份快照将保留 35 天(无额外费用)。您可以使用系统备份,将已删除的表还原到删除点之前此表所处的状态。所有系统备份都遵循 table-name
$DeletedTableBackup
标准命名约定。
注意
一旦删除已启用时间点恢复的表后,您可以使用系统还原将该表还原到刚好删除前的那个时间点。不能将删除的表还原到过去 35 天内的任何其他时间点。