20

我从过去几天开始使用 amazon dynamodb no-sql 数据库,并想知道是否有项目的任何特征生存时间 (TTL),以便当项目达到该值时,它会根据TTL值自动从表中删除,而不是手动批量删除项目。

4

4 回答 4

29

是的,亚马逊于 2017 年 2 月向 DynamoDb 发布了生存时间 (TTL) 功能。您只需在控制台上访问 DynamoDb。选择您的表。然后单击概述并在那里启用它。

在表详细信息下

管理 TTL

TTL 属性应该是您的列/属性,它将决定该行何时过期/删除。

注意: ttl 属性应该是数字数据类型(因为 DynamoDb 不支持日期时间数据类型)。所以它应该是EPOCH时间格式。

例如:
- Linux 终端:date +%s
- Python:import time; long(time.time())
- Java:System.currentTimeMillis() / 1000L
- JavaScript:Math.floor(Date.now() / 1000)

于 2017-03-03T21:07:39.940 回答
7

编辑:AWS 于 2017 年 2 月发布了 DynamoDb TTL 功能。

不幸的是,答案很简短:不

事实上,DynamoDB 的设计初衷就是为了简单。没有花哨的功能。

于 2012-11-12T14:15:06.150 回答
0

您可以使用 AWS DynamoDB 控制台来完成,就像Manjan 的回答所说的那样。

如果您更喜欢使用命令,还可以使用 AWS DynamoDB CLI 命令:

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

您可以查看这篇文章以获取更多信息。

于 2019-04-05T10:01:33.110 回答
0

是的,他们最近发布了这个功能。浏览以下文档 https://aws.amazon.com/about-aws/whats-new/2017/02/amazon-dynamodb-now-supports-automatic-item-expiration-with-time-to-live-ttl /

于 2017-02-28T06:05:54.373 回答