有効期限 (TTL) の有効化 - Amazon DynamoDB

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

有効期限 (TTL) の有効化

Amazon DynamoDB コンソールまたは AWS Command Line Interface (AWS CLI) を使用して、有効期限 を有効にできます。代わりに API を使用する場合は、「Amazon DynamoDB API Reference」を参照してください。

有効期限 の有効化 (コンソール)

DynamoDB コンソールを使用して、次の手順に従って 有効期限 を有効にします。

  1. AWS マネジメントコンソール にサインインし、https://console.aws.amazon.com/dynamodb/ にある DynamoDB コンソールを開きます。

  2. [テーブル] を選択し、変更するテーブルを選択します。

  3. [テーブルの詳細] で、[TTL 属性] の横にある [TTL の管理 ] を選択します。

  4. [TTL の管理] ダイアログボックスで、[TTL の有効化] を選択してから [TTL 属性] の名前を入力します。

    [TTL の管理] には 3 つの設定があります。

    • TTL の有効化 – テーブルで TTL を有効または無効にするには、これを選択します。変更が完全に処理されるまでに最大で 1 時間かかる場合があります。

    • TTL 属性 – 項目の TTL タイムスタンプを保存する DynamoDB 属性の名前。

    • 24-hour backup streams (24 時間のバックアップストリーム) – テーブルで DynamoDB ストリーム を有効にするには、この設定を選択します。DynamoDB ストリーム を使用してバックアップする方法の詳細については、「DynamoDB ストリーム および 有効期限」を参照してください。

  5. (オプション) TTL を有効化するときに削除される項目のいくつかをプレビューするには、[プレビューの実行] を選択します。

    警告

    これにより、項目のサンプルリストが表示されます。TTL によって削除される項目の完全なリストは表示されません。

  6. [Continue] を選択して設定を保存し、TTL を有効にします。

これで TTL が有効になったため、 コンソールで項目を表示すると、TTL 属性は TTLDynamoDB とマークされます。

属性の上にポインターを合わせると、項目が期限切れになる日時を表示できます。

有効期限 の有効化 (AWS CLI)

  1. TTLExample テーブルで TTL を有効にします。

    aws dynamodb update-time-to-live --table-name TTLExample --time-to-live-specification "Enabled=true, AttributeName=ttl"
  2. TTLExample テーブルで TTL を無効にします。

    aws dynamodb describe-time-to-live --table-name TTLExample { "TimeToLiveDescription": { "AttributeName": "ttl", "TimeToLiveStatus": "ENABLED" } }
  3. BASH シェルおよび AWS CLI を使用して 有効期限 属性が設定された項目を TTLExample テーブルに追加するには:

    EXP=`date -d '+5 days' +%s` aws dynamodb put-item --table-name "TTLExample" --item '{"id": {"N": "1"}, "ttl": {"N": "'$EXP'"}}'

この例では、現在の日付から開始し、有効期限を作成するために 5 日を追加します。次に、有効期限をエポック時間形式に変換してから、最後に項目を「TTLExample」テーブルに追加します。

注記

有効期限 の有効期限の値を設定する 1 つの方法は、有効期限に追加する秒数を計算することです。たとえば、5 日間は 432,000 秒です。ただし、多くの場合は最初に日付で開始し、そこから作業を開始することをお勧めします。

次の例のように、現在の時間をエポック時間形式で取得するのは非常に簡単です。

  • Linux ターミナル: date +%s

  • Python: import time; int(time.time())

  • Java: System.currentTimeMillis() / 1000L

  • JavaScript: Math.floor(Date.now() / 1000)