DynamoDB テーブルの項目に対する TTL を有効にしましたが、DynamoDB が項目を削除できませんでした。

最終更新日: 2020 年 5 月 21 日

Amazon DynamoDB テーブルで 有効期限 (TTL) を有効にしました。項目の有効期限が切れてますが、DynamoDB が項目を削除できませんでした。

解決方法

DynamoDB テーブルで TTL を有効にしたが、項目の有効期限が切れていて DynamoDB がこれらを削除できない場合は、以下の点を確認してください。

  • TTL 属性を必ず設定してください。詳細については、 有効期限 (TTL) の有効化をご参照ください。
  • TTL 属性には、数値データ型を使用する必要があります。文字列など、その他のデータ型はサポートされていません。
  • TTL 属性には、エポック時間形式を使用する必要があります。例えば、2020 年 5 月 5 日 16:52:32 UTC のタイムスタンプをエポック形式にすると 1588697552 になります。正確な値を取得するには、EpochConverter などのフリーオンラインコンバーターを使用します。
    注: タイムスタンプがミリ秒単位ではなく秒単位であることを確認してください (例えば、1572268323000 ではなく 1572268323 を使用する)。
  • DynamoDB が項目を削除するまで少なくとも 48 時間お待ちください。DynamoDB は、ベストエフォートベースで期限切れの項目を削除し、他のデータオペレーションに十分なスループットがあることを確認します。処理はバックグラウンドで自動的に実行され、テーブルの読み書き込みトラフィックには影響を与えません。
  • 有効期限が 過去 5 年を超えてないことを確認します。DynamoDB は、有効期限が過去 5 年を超えた項目を削除しません。

TTL のベストプラクティスについては、 有効期限 (TTL) の使用を開始する前にを参照してください。


この記事はお役に立ちましたか?

改善できることはありますか?


さらにサポートが必要な場合