スキップしてコンテンツを表示

DynamoDB で TTL を設定する方法を教えてください

所要時間1分
0

Amazon DynamoDB テーブルで有効期限 (TTL) を設定したいと考えています。

簡単な説明

DynamoDB テーブルデータのデータライフサイクルを管理するには、Amazon DynamoDB TTL を使用します。

解決策

TTL の設定

DynamoDB コンソールで TTL を設定するには、次の手順を実行します。

  1. DynamoDB コンソールを開きます。
  2. ナビゲーションペインで**[テーブル]**を選択し、変更するテーブルを選択します。
  3. テーブルの詳細ページの**[その他の設定]で、[有効期限 (TTL)]設定の[有効にする]**を選択します。
  4. [有効期限の有効化] ページの [TTL 属性名] に一意の属性名を入力します。
    注: 属性名は、大文字と小文字が区別されます。また、読み取りおよび書き込み操作における属性の定義と一致している必要があります。詳細については、「有効期限 (TTL) の有効化」の「AWS コンソールを使用して DynamoDB TTL を有効にする」セクションをご覧ください。
  5. (オプション) TTL 設定のプレビューを実行するには、日付と時刻を入力します。次に、**[プレビューを実行]**を選択します。コンソールには、確認できる項目のサンプルリストが表示されます。

TTL を有効にすると、DynamoDB コンソール上の項目には、この属性を示す**[TTL]**のマークが付きます。

注: AWS API、AWS CLI、または AWS CloudFormation を使用すると DynamoDB TTL を有効にできます。

TTL のベストプラクティス

TTL 設定を更新する

TTL の使用時にエラーが発生した場合は、TTL 属性を確認します。TTL 属性名は DynamoDB テーブルの属性と一致している必要があります。TTL 属性については、データ型は数値型でなければなりません。DynamoDB テーブルの TTL 属性の値については、属性は秒単位の精度でエポック形式である必要があります。

複数の TTL 属性値を更新する

API を使用して複数の TTL 属性値を更新するには、Scan 操作を実行します。次に、UpdateItem 呼び出しを実行して、TTL 属性値を変更します。

TTL 属性でフィルタリングする

DynamoDB にはスキーマがないため、テーブルの一部の項目に TTL 属性がない場合があります。データを絞り込むには、TTL 属性に対するフィルター式および、条件属性「does not exist」を使用して scan 操作を実行します。 詳細については、「scan のフィルタ式」をご覧ください。

項目の有効期限を設定する

項目の有効期限の設定は、その項目が最後に作成または更新されたときに行うのがベストプラクティスです。詳細については、「有効期限 (TTL) の計算」をご覧ください。

関連情報

期限切れ項目の操作

「EpochConverter」ウェブサイトの「Epoch & Unix Timestamp Conversion Tools

DynamoDB ストリーム内の削除済みアイテムの特定

AWS公式更新しました 2年前