Dynamodb TTL 24 小时

Pab*_*dro 5 ttl node.js amazon-dynamodb

嗨,我想知道如何设置在 dynamo db 中的时间。

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

感谢帮助。

Ste*_*iaz 13

来自官方 DynamoDB 文档

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

笔记

纪元时间格式是自 1970 年 1 月 1 日凌晨 12:00:00 UTC 以来经过的秒数。

在Javascript中,你可以得到的数毫秒,因为这样做的时代Date.now()。一旦你有了它,你可以将所有内容除以 1000 以获得秒数(也四舍五入到最接近的整数值),最后在你想要的 TTL 中添加秒数。

这意味着如果你想从现在开始设置过期时间 24,你可以很容易地用这样expirationTime计算的值设置 TTL 字段:

const SECONDS_IN_AN_HOUR = 60 * 60;
const secondsSinceEpoch = Math.round(Date.now() / 1000);
const expirationTime = secondsSinceEpoch + 24 * SECONDS_IN_AN_HOUR;
Run Code Online (Sandbox Code Playgroud)