有効期限 (TTL) - Amazon DynamoDB

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

有効期限 (TTL)

DynamoDB の有効期限 (TTL) は、不要になった項目を削除するための費用対効果の高い方法です。TTL を使用すると、項目ごとの有効期限タイムスタンプを定義して、項目が不要になった日時を示すことができます。DynamoDB は、有効期限から数日以内に期限切れの項目を自動的に削除します。書き込みスループットは消費されません。

TTL を使用するには、まずテーブルで TTL を有効にし、次に TTL 有効期限タイムスタンプを保存する特定の属性を定義します。タイムスタンプは Unix エポックタイム形式で秒単位で保存する必要があります。項目が作成または更新されるたびに、有効期限を計算して TTL 属性に保存できます。

有効な期限切れの TTL 属性を持つ項目は、通常は有効期限が切れてから数日以内に、いつでもシステムによって削除できます。TTL 属性の変更または削除を含め、削除保留中の期限切れの項目を更新できます。期限切れの項目を更新するときは、条件式を使用して、項目が後で削除されないようにすることをお勧めします。フィルター式を使用して、期限切れの項目をスキャン結果とクエリ結果から削除します。

削除された項目は、一般的な削除オペレーションで削除された項目と同様に機能します。削除されると、項目はユーザー削除ではなくサービス削除として DynamoDB Streams に移行し、他の削除オペレーションと同様にローカルセカンダリインデックスとグローバルセカンダリインデックスから削除されます。

グローバルテーブルのグローバルテーブルバージョン 2019.11.21 (現行) を使用しており、TTL 機能も使用している場合、DynamoDB は TTL 削除をすべてのレプリカテーブルにレプリケートします。初期 TTL 削除では、TTL の有効期限が切れるリージョンの書き込みキャパシティーユニット (WCU) は消費されません。ただし、レプリカテーブルへのレプリケートされた TTL 削除 (1 つ) は、各レプリカリージョンでプロビジョンドキャパシティを使用する場合はレプリケートされた書き込みキャパシティーユニットを消費し、オンデマンドキャパシティーモードを使用する場合はレプリケートされた書き込みユニットを消費し、該当する料金が適用されます。

DynamoDB Local は、テーブルで TTL を有効にし、TTL 属性を作成し、項目の有効期限を設定することで、TTL ユースケースのコードをテストするのに役立ちます。ただし、期限切れの項目は DynamoDB Local から削除されません。これは、DynamoDB Local は現在、期限切れの項目の削除に使用されるサーバー側のプロセスのようなバックグラウンドプロセスを実行していないためです。

TTL の詳細については、次のトピックを参照してください。