Amazon DynamoDB
开发人员指南 (API Version 2012-08-10)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

启用 生存时间

本部分介绍如何使用 DynamoDB 控制台或 CLI 来启用 生存时间。如需改为使用 API,请参阅 Amazon DynamoDB API Reference

启用 生存时间 (控制台)

使用 DynamoDB 控制台启用 生存时间:

  1. 通过以下网址打开 DynamoDB 控制台:https://console.amazonaws.cn/dynamodb/home

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

  3. Table details 中,选择 TTL attribute 旁边的 Manage TTL

  4. Manage TTL 对话框中,选择 Enable TTL,然后键入 TTL 属性名称。

    Manage TTL 中有三个设置:

    • Enable TTL – 此设置用于选择在表中启用或禁用 TTL。完全处理更改最多可能需要一个小时。

    • TTL Attribute – 用于存储项目 TTL 时间戳的 DynamoDB 属性的名称。

    • 24-hour backup streams – 选中此项可在表中启用 DynamoDB 流。有关如何使用 DynamoDB 流 进行备份的更多信息,请参阅DynamoDB 流 和 生存时间

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

    警告

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

  6. 选择 Continue 保存设置并启用 TTL。

现在 TTL 已启用,当您在 DynamoDB 控制台中查看项目时,TTL 属性标记为 TTL

您可以通过将鼠标悬停在属性上来查看项目过期的日期和时间。

启用 生存时间 (CLI)

在“TTLExample”表中启用 TTL:

Copy
aws dynamodb update-time-to-live --table-name TTLExample --time-to-live-specification "Enabled=true, AttributeName=ttl"

在“TTLExample”表中描述 TTL:

Copy
aws dynamodb describe-time-to-live --table-name TTLExample { "TimeToLiveDescription": { "AttributeName": "ttl", "TimeToLiveStatus": "ENABLED" } }

通过使用 BASH shell 和 CLI 设置 生存时间 属性将项目添加至“TTLExample”表:

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

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

注意

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

获取当前时间的纪元时间格式非常简单。例如:

  • Linux 终端:date +%s

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

  • AWS 开发工具包: System.currentTimeMillis() / 1000L

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