在 DynamoDB 中使用存留時間 (TTL) - Amazon DynamoDB

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

在 DynamoDB 中使用存留時間 (TTL)

DynamoDB 的存留時間 (TTL) 是刪除不再相關的項目的成本效益方法。TTL 可讓您定義每個項目的過期時間戳記,指出何時不再需要項目。DynamoDB 會在過期時間的幾天內自動刪除過期項目,而不會消耗寫入輸送量。

若要使用 TTL,請先在資料表上啟用它,然後定義特定屬性來存放TTL過期時間戳記。時間戳記必須以秒的精細程度,以 Unix epoch 時間格式儲存。每次建立或更新項目時,您可以計算過期時間,並將其儲存在 TTL 屬性中。

具有有效、過期TTL屬性的項目可隨時由系統刪除,通常在過期後的幾天內。您仍然可以更新待刪除的過期項目,包括變更或移除其TTL屬性。更新過期項目時,建議您使用條件運算式,以確保該項目後續未遭到刪除。使用篩選條件表達式,從掃描查詢結果中移除過期項目。

刪除的項目的運作方式類似於透過一般刪除操作刪除的項目。刪除後,項目會以服務刪除的形式進入 DynamoDB Streams,而不是使用者刪除,並且會像其他刪除操作一樣從本機次要索引和全域次要索引中移除。

如果您使用的是全域資料表 2019.11.21 版 (目前) 的全域資料表,而且也使用 TTL功能,則 DynamoDB 會複寫TTL刪除所有複本資料表。初始TTL刪除不會在發生TTL過期的區域使用寫入容量單位 (WCU)。但是,複寫TTL刪除至複本資料表 (若使用佈建容量) 時,會耗用複寫的寫入容量單位,若使用隨需容量模式時,則會在每個複本區域中耗用複寫的寫入容量單位,並收取適用的費用。

如需 的詳細資訊TTL,請參閱下列主題: