The UpdateTimeToLive method will enable or disable TTL for the specified table. A successful
UpdateTimeToLive
call returns the current TimeToLiveSpecification
; it may take up to
one hour for the change to fully process. Any additional UpdateTimeToLive
calls for the same table
during this one hour duration result in a ValidationException
.
TTL compares the current time in epoch time format to the time stored in the TTL attribute of an item. If the
epoch time value stored in the attribute is less than the current time, the item is marked as expired and
subsequently deleted.
The epoch time format is the number of seconds elapsed since 12:00:00 AM January 1st, 1970 UTC.
DynamoDB deletes expired items on a best-effort basis to ensure availability of throughput for other data
operations.
DynamoDB typically deletes expired items within two days of expiration. The exact duration within which an item
gets deleted after expiration is specific to the nature of the workload. Items that have expired and not been
deleted will still show up in reads, queries, and scans.
As items are deleted, they are removed from any Local Secondary Index and Global Secondary Index immediately in
the same eventually consistent way as a standard delete operation.
For more information, see Time
To Live in the Amazon DynamoDB Developer Guide.