跳至内容

Records with expired TTL are not being deleted

0

There are 500+ records in my table, with a TTL lower than my current time. How come these records are not being deleted? Some TTLs date back to Jan 2024.

Enter image description here

已提问 1 年前425 查看次数
3 回答
4
已接受的回答

Hi

TTL attributes MUST be of the type number for them to deleted by DynamoDB.

I see the type here is String, thus the issue.

Refer: https://repost.aws/knowledge-center/dynamodb-expired-ttl-not-deleted for more info

AWS
专家
已回答 1 年前
专家
已审核 1 年前
AWS
专家
已审核 1 年前
1

Some reasons why its not working. Is your field a String or Number? as in your search, your using string which it should be a number.

  • Be sure that you activated TTL on the table and the related settings are correct:
  • The item must contain the attribute that you specified when you activated TTL on the table.
  • The TTL attribute's value must have the data type Number.
  • The TTL attribute's value must be a timestamp in seconds in Unix epoch time format. For more information, see Unix time on Wikipedia.
  • The TTL attribute value must be a datetimestamp with an expiration of no more than five years in the past.
  • The TTL processes run on the table only when there's enough spare capacity so that these processes don't interfere with table operations. If the table or table partitions use most of the allocated capacity, then TTL processes might not run.

https://repost.aws/knowledge-center/dynamodb-expired-ttl-not-deleted

专家
已回答 1 年前
专家
已审核 1 年前
0

unfortunately it is not guaranteed that the records can be deleted in less than 48 hours even if the TTL is 2 minutes. It is mentioned in their documentation but I can't find the reference now. But it was sth like the actual deletion of items in DynamoDB can still take up to 48 hours.

已回答 8 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。