我正在玩amazon dynamodb no-sql数据库,过去几天,并想知道如果有一个项目的任何功能生存时间(TTL),那么当项目达到该值时,它会根据TTL值自动从表中删除而不是手动批量删除项目。
是的,亚马逊于2017年2月向DynamoDb发布了生存时间(TTL)功能。您只需在控制台上访问DynamoDb即可。选择你的桌子。然后单击“概述”并在此处启用它。
TTL属性应该是您的列/属性,用于决定何时该行应该过期/删除。
注意:ttl属性应为number数据类型(因为DynamoDb不支持datetime数据类型)。所以应该采用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's answer所述。
如果您更喜欢使用命令,还可以使用AWS DynamoDB CLI命令:
aws dynamodb update-time-to-live
--table-name demoTable
--time-to-live-specification Enabled=true,AttributeName=ttl
您可以查看此article以获取更多信息。