我从过去几天开始使用 amazon dynamodb no-sql 数据库,并想知道是否有项目的任何特征生存时间 (TTL),以便当项目达到该值时,它会根据TTL值自动从表中删除,而不是手动批量删除项目。
4 回答
是的,亚马逊于 2017 年 2 月向 DynamoDb 发布了生存时间 (TTL) 功能。您只需在控制台上访问 DynamoDb。选择您的表。然后单击概述并在那里启用它。
TTL 属性应该是您的列/属性,它将决定该行何时过期/删除。
注意: ttl 属性应该是数字数据类型(因为 DynamoDb 不支持日期时间数据类型)。所以它应该是EPOCH时间格式。
例如:
- Linux 终端:date +%s
- Python:import time; long(time.time())
- Java:System.currentTimeMillis() / 1000L
- JavaScript:Math.floor(Date.now() / 1000)
编辑:AWS 于 2017 年 2 月发布了 DynamoDb TTL 功能。
不幸的是,答案很简短:不
事实上,DynamoDB 的设计初衷就是为了简单。没有花哨的功能。
您可以使用 AWS DynamoDB 控制台来完成,就像Manjan 的回答所说的那样。
如果您更喜欢使用命令,还可以使用 AWS DynamoDB CLI 命令:
aws dynamodb update-time-to-live
--table-name demoTable
--time-to-live-specification Enabled=true,AttributeName=ttl
您可以查看这篇文章以获取更多信息。
是的,他们最近发布了这个功能。浏览以下文档 https://aws.amazon.com/about-aws/whats-new/2017/02/amazon-dynamodb-now-supports-automatic-item-expiration-with-time-to-live-ttl /