You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否修改DynamoDB记录TTL?实现仅在completed状态触发

DynamoDB TTL相关问题解答

1. 是否可以修改DynamoDB记录的TTL?

可以。只要你的DynamoDB表已经启用了TTL功能,并指定了对应的TTL属性字段(比如expires_at),就能通过UpdateItem操作修改已有记录的TTL值。

2. 仅当记录更新为特定状态时触发TTL的实现方案

完全可以按照你描述的方式实现,具体步骤如下:

  • 创建记录时:要么不设置TTL字段,要么将TTL字段设为一个极远的未来秒级Unix时间戳(例如10年后的时间戳),确保记录不会被提前自动删除。
  • 更新记录状态为completed时:在执行UpdateItem操作更新status字段的同时,将TTL字段设置为当前时间 + N天对应的秒级Unix时间戳(注意DynamoDB的TTL要求存储秒级时间戳,而非毫秒)。
  • 前提条件:需确保目标表已开启TTL功能,且指定了正确的TTL属性名。

额外注意事项

  • TTL字段必须是Number类型,存储值为秒级Unix时间戳。
  • DynamoDB对过期记录的删除是异步执行的,通常会在记录过期后的48小时内完成,并非实时删除。
  • 后续若需调整删除时间,可再次通过UpdateItem修改TTL字段的值。

内容的提问来源于stack exchange,提问作者Kousha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 09:13:13