Dynamodb TTL 24小时

时间:2018-07-31 01:52:19

标签: node.js amazon-dynamodb ttl

您好,我想知道如何设置在dynamo数据库中居住的时间。

我知道我必须创建一个字段,该字段可以称为ttl并设置要删除的值,但是我必须保存nodejs的哪种格式才能用于{{ 1}}字段持续20或24小时?

感谢帮助。

1 个答案:

答案 0 :(得分:2)

来自official DynamoDB documentation

  

TTL将时代时间格式的当前时间与存储的时间进行比较   在项目的生存时间属性中。 [...]

     

注意

     

时代开始   格式是自1月1日上午12:00:00以来经过的秒数,   1970 UTC。

在Javascript中,您可以通过执行Date.now()获得自纪元以来的毫秒数。一旦有了,就可以将所有内容除以1000得到秒数(也舍入到最接近的整数值),最后在所需的TTL中添加秒数。

这意味着,如果您要从现在开始设置到期时间24,则可以轻松设置TTL字段,并使用以下方式计算出的值expirationTime

const SECONDS_IN_AN_HOUR = 60 * 60;
const secondsSinceEpoch = Math.round(Date.now() / 1000);
const expirationTime = secondsSinceEpoch + 24 * SECONDS_IN_AN_HOUR;