我已为 DynamoDB 表中的项目启用 TTL,但 DynamoDB 未删除它们

上次更新时间:2020 年 5 月 21 日

我已在 DynamoDB 表上启用生存时间 (TTL)。该项目已过期,但 DynamoDB 未删除它们。

解决方法

如果您已在 DynamoDB 表上启用 TTL,但 DynamoDB 未在项目过期时删除它们,请确认以下事项:

  • 请确保已设置 TTL 属性。有关更多信息,请参阅启用生存时间 (TTL)
  • TTL 属性必须使用“数字”数据类型。不支持其他数据类型,例如“字符串”。
  • TTL 属性必须使用新纪元时间格式。例如,代表 2020 年 5 月 5 日 16:52:32 UTC 的新纪元时间戳为 1588697552。您可以使用免费的在线转换器,例如 EpochConverter,以获取正确的值。
    注意:请确保时间戳的单位为秒,而非毫秒(例如,使用 1572268323 而非 1572268323000)。
  • 请至少等待 48 个小时,以让 DynamoDB 删除该项目。DynamoDB 会尽最大努力删除过期的项目,以确保有足够的吞吐量来执行其他数据操作。将在后台自动进行处理,并且不会影响对该表的读取或写入流量。
  • 请确保过期日期距离现在未超过 5 年。DynamoDB 无法删除过期日期超过 5 年的项目。

有关更多信息,请参阅在开始使用生存时间之前


这篇文章对您有帮助吗?

我们可以改进什么?


需要更多帮助?