首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >基于主键设置ttl

基于主键设置ttl
EN

Stack Overflow用户
提问于 2019-06-11 00:26:45
回答 1查看 104关注 0票数 0

DynamoDB有一个允许你基于PK+SK设置ttl的功能,我想知道它为什么只支持基于PK的ttl。有没有可能设置一个ttl来处理一个PK的所有条目?

我目前每天都在运行一些删除旧数据的cron作业。

如果dynamodb有这样的基于PK的ttl特性,并且不消耗容量,那就太好了。

EN

回答 1

Stack Overflow用户

发布于 2019-06-11 03:04:10

我不知道DyanamoDb中有什么特性可以让你根据散列/范围键来终止项目。dynamo的TTL特性并不直接基于散列键和/或范围键,你可以选择任何可能存在于你的项上的单一属性作为TTL属性(它可以是散列键,或者范围键,或者表中项上可能存在的任何其他非键属性)-我说它可能存在,因为它不是必须存在于所有项上(任何没有TTL属性的项都将被忽略,即永远不会过期)。您选择一个(并且只有一个,而不是多个)属性,然后Dynamo将使用该属性来确定项是否应该自动过期,当它们过期时,它们将被自动删除(就像您自己提交了一个DeleteItem调用一样)。请注意,自动清理本身并不是立即的,它可能需要48小时才能真正删除过期项目。

您选择的TTL属性必须是简单的纪元时间格式(即标准的Unix时间戳),所以在您的例子中,如果您现有的HashKey是一个时间戳,您只需将其用作您的TTL属性。我想情况并非如此,因此您的最佳选择可能是添加一个时间戳属性,该属性以标准的unix-timestamp格式定义项的创建时间,然后使用该属性配置表作为TTL属性。

有关TTL功能、如何配置等的更多信息,可以在此处找到:

https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/TTL.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56530117

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档