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

启用 生存时间

本部分介绍如何使用 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:

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

在“TTLExample”表中描述 TTL:

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

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

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)