跳至內容

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 個月前

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。