DynamoDBのTTLがハッシュキーに設定できるか試してみた

DynamoDBのTTL(Time to Live)機能は、レコード毎にデータの有効期限を指定でき、その有効期限を過ぎるとデータが自動削除されます。 これは任意のカラムを設定しますが、ハッシューキーが設定できるか試してみました。
2020.04.07

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

DynamoDBのTTL(Time to Live)機能を使えば、期限が切れたデータは自動削除されます。 そのためには特定のカラムにUnixtimeを設定する必要がありますが、そこでふと気になりました。

「ハッシュキーに設定できるんだろうか?」と。

試してみました。

TTL(Time to Live)について

詳しくは下記をご覧ください。

やってみた

DynamoDBテーブルを作成

test-ttlを作成します。

DynamoDBを作成する

データを追加

次のデータを追加します。

{
    "deadlineTimestamp": 1586250000,
    "datetime": "2020-04-07T18:00:00",
    "message": "This is a pen."
}

DynamoDBにサンプルデータを追加する

TTLを設定

TTL属性としてハッシュキーであるdeadlineTimestampを設定します。 未来の時間でプレビューしたところ、削除される項目の例にも登場しました。この時点でもう確実ですね。

DynamoDBのTTLを設定する

しばらく待つと、削除された

しばらく待つとデータが削除されました。結果として、TTLをハッシュキーに設定できました。

DynamoDBのデータが削除された

さいごに

ふと気になって試してみました。十中八九、大丈夫だとは思っていましたが、無事に削除されてよかったです。

参考