Time-to-Live (TTL)
Azure Cosmos DB を使うと、データベース内のドキュメントが自動的に消去されるまでの期間を設定できます。 ドキュメントの "有効期限" (TTL) は、最後の変更から秒単位で測定されます。コンテナー レベルで設定でき、項目ごとにオーバーライドすることもできます。
コンテナー レベルで設定すると、ドキュメントの最終変更から指定した時間が経過すると、Azure Cosmos DB によってドキュメントは自動的に消去されます。 TTL 値は、秒単位の整数として定義されます。
ヒント
最大 TTL 値は 2147483647 です。
TTL の有効期限は、要求ユニットを使ってバックグラウンドで実行されるバックグラウンド タスクであり、休止時にスケジュールされます。
コンテナーでの TTL の構成
コンテナーの TTL 値は、コンテナーの JSON オブジェクトの DefaultTimeToLive プロパティを使って構成します。
| DefaultTimeToLive | [有効期限] |
|---|---|
| 存在しません | 項目は自動的に期限切れになりません |
-1 |
項目は既定では期限切れになりません |
| n | 最終変更時刻から n 秒後 |
項目の TTL 値を構成するには、項目の ttl パスを設定します。 項目の TTL 値は、親コンテナーに DefaultTimeToLive プロパティが構成されている場合にのみ機能します。 項目に ttl パスが構成されている場合は、親コンテナーの DefaultTimeToLive プロパティがオーバーライドされます。
例
| コンテナ.デフォルト生存時間 | Item.ttl | 有効期限 (秒) |
|---|---|---|
1000 |
null | 1000 |
1000 |
-1 |
この項目は期限切れになりません |
1000 |
2000 |
2000 |
| コンテナ.デフォルト生存時間 | Item.ttl | 有効期限 (秒) |
|---|---|---|
| null | null | この項目は期限切れになりません |
| null | -1 |
この項目は期限切れになりません |
| null | 2000 |
TTL はコンテナー レベルで無効になります。 この項目は期限切れになりません。 |