启用生存时间 (TTL) - Amazon DynamoDB
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

启用生存时间 (TTL)

您可以使用 Amazon DynamoDB 控制台或 Amazon Command Line Interface (Amazon CLI) 启用生存时间。如需改为使用 API,请参阅 Amazon DynamoDB API 参考

启用生存时间(控制台)

执行以下步骤,使用 DynamoDB 控制台启用生存时间:

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

  2. 选择 Tables (表),然后选择您要修改的表。

  3. Additional settings (其他设置)选项卡的 Time to Live (存活时间) (TTL) 部分,选择 Enable (启用)

  4. Enable Time to Live (启用存活时间) (TTL) 页面中,输入 TTL 属性名

  5. (可选)要预览在启用 TTL 时将被删除的部分项目,请选择 Run preview (运行预览)

    警告

    这将为您提供项目示例列表。此选项不提供将被 TTL 删除的项目的完整列表.

  6. 选择 Enable TTL (启用 TTL) 以保存设置并启用 TTL。

现在 TTL 已启用,当您在 DynamoDB 控制台上查看项目时TTL 属性被标记为 TTL。您可以通过将指针悬停在属性上来查看项目过期的日期和时间。

启用存活时间 (Amazon CLI)

  1. TTLExample 表上启用 TTL。

    aws dynamodb update-time-to-live --table-name TTLExample --time-to-live-specification "Enabled=true, AttributeName=ttl"
  2. TTLExample 表上描述 TTL。

    aws dynamodb describe-time-to-live --table-name TTLExample { "TimeToLiveDescription": { "AttributeName": "ttl", "TimeToLiveStatus": "ENABLED" } }
  3. 通过使用 BASH shell 和 TTLExample 设置存活时间属性将项目添加至 Amazon CLI 表。

    EXP=`date -d '+5 days' +%s` aws dynamodb put-item --table-name "TTLExample" --item '{"id": {"N": "1"}, "ttl": {"N": "'$EXP'"}}'

此示例从当前日期开始,并在当前日期上增加 5 天来创建过期时间。然后,它将过期时间转换为纪元时间格式,以便最终添加项目到“TTLExample”表。

注意

为存活时间设置过期值的一种方式是计算添加到过期时间的秒数。例如,5 天是 432000 秒。但是,人们通常习惯于从某个日期算起。

获取当前时间的纪元时间格式非常简单,如下例中所示。

  • Linux 终端:date +%s

  • Python: import time; int(time.time())

  • Java:System.currentTimeMillis() / 1000L

  • JavaScript: Math.floor(Date.now() / 1000)