내용으로 건너뛰기

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

질문됨 일 년 전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
전문가
답변함 일 년 전
전문가
검토됨 일 년 전
AWS
전문가
검토됨 일 년 전
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

전문가
답변함 일 년 전
전문가
검토됨 일 년 전
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달 전

로그인하지 않았습니다. 로그인해야 답변을 게시할 수 있습니다.

좋은 답변은 질문에 명확하게 답하고 건설적인 피드백을 제공하며 질문자의 전문적인 성장을 장려합니다.

관련 콘텐츠