生存時間 (TTL) - Amazon DynamoDB

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

生存時間 (TTL)

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

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

具有有效、過期 TTL 屬性的料件可隨時被系統刪除,通常會在其到期後的幾天內刪除。您仍然可以更新擱置刪除的過期項目,包括變更或移除其 TTL 屬性。更新過期的項目時,我們建議您使用條件運算式,以確定之後未刪除該項目。使用篩選器運算式從掃描查詢結果中移除過期的項目。

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

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

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