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

Khurram
asked 2 months ago101 views
2 Answers
4
Accepted Answer

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

profile pictureAWS
EXPERT
answered 2 months ago
profile picture
EXPERT
reviewed 2 months ago
profile pictureAWS
EXPERT
reviewed 2 months ago
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

profile picture
EXPERT
answered 2 months ago
profile picture
EXPERT
reviewed 2 months ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions