Gültigkeitsdauer (TTL)
Mit Azure Cosmos DB können Sie festlegen, wie lange Dokumente in der Datenbank gespeichert werden, bevor sie automatisch bereinigt werden. Die Gültigkeitsdauer (Time-to-live, TTL) eines Dokuments wird in Sekunden ab der letzten Änderung gemessen und kann auf Containerebene festgelegt werden, wobei die Möglichkeit besteht, sie für jedes Element einzeln zu überschreiben.
Einmal auf Containerebene festgelegt, löscht Azure Cosmos DB Dokumente automatisch nach der angegebenen Zeit seit ihrer letzten Änderung. Der TTL-Wert wird als ganze Zahl in Sekunden definiert.
Tipp
Der maximale TTL-Wert ist 2.147.483.647.
Der TTL-Ablauf ist ein Hintergrundtask, der im Hintergrund mit Anforderungseinheiten ausgeführt und im Ruhezustand geplant wird.
Konfigurieren der TTL für einen Container
Der TTL-Wert für einen Container wird mithilfe der DefaultTimeToLive-Eigenschaft des JSON-Objekts des Containers konfiguriert.
| DefaultTimeToLive | Ablauf |
|---|---|
| Existiert nicht | Elemente laufen nicht automatisch ab. |
-1 |
Elemente laufen nicht standardmäßig ab. |
| n | n Sekunden nach dem Zeitpunkt der letzten Änderung. |
Der TTL-Wert für ein Element wird durch Festlegen des ttl-Pfads des Elements konfiguriert. Der TTL-Wert für ein Element funktioniert nur, wenn die DefaultTimeToLive-Eigenschaft für den übergeordneten Container konfiguriert ist. Wenn der ttl-Pfad für das Element konfiguriert ist, überschreibt er die DefaultTimeToLive-Eigenschaft des übergeordneten Containers.
Beispiele
| Container.DefaultTimeToLive | Item.ttl | Ablauf in Sekunden |
|---|---|---|
1000 |
null | 1000 |
1000 |
-1 |
Dieses Element läuft nie ab. |
1000 |
2000 |
2000 |
| Container.DefaultTimeToLive | Item.ttl | Ablauf in Sekunden |
|---|---|---|
| null | null | Dieses Element läuft nie ab. |
| null | -1 |
Dieses Element läuft nie ab. |
| null | 2000 |
TTL ist auf Containerebene deaktiviert. Dieses Element läuft nie ab. |