Hodnota TTL (Time to Live) ve službě Azure Cosmos DB

PLATÍ PRO: NoSQL

Služba Time to Live nebo TTL odstraní položky z kontejneru automaticky po určitém časovém období. Ve výchozím nastavení můžete nastavit, aby se doba života na úrovni kontejneru přepsala na základě jednotlivých položek. Po nastavení hodnoty TTL v kontejneru nebo na úrovni položky služba Azure Cosmos DB tyto položky automaticky odebere po uplynutí časového období od doby, kdy byly naposledy změněny. Hodnota Time to Live je nakonfigurovaná v sekundách. Když nakonfigurujete hodnotu TTL, systém automaticky odstraní položky s vypršenou platností na základě hodnoty TTL, aniž by potřeboval operaci odstranění explicitně vystavenou klientskou aplikací. Maximální hodnota hodnoty TTL je 2147483647 sekund, což je přibližný ekvivalent 24 855 dnů nebo 68 let.

Odstranění položek s vypršenou platností je úloha na pozadí, která využívá zbývající počet jednotek žádostí, které uživatelské požadavky nespotřebovaly. I po vypršení platnosti hodnoty TTL je kontejner přetížen požadavky a pokud není k dispozici dostatek RU, odstranění dat se zpozdí. Data se odstraní, jakmile je k dispozici dostatek RU k provedení operace odstranění. I když je odstranění dat zpožděné, po vypršení platnosti hodnoty TTL se data nevrátí žádnými dotazy (žádným rozhraním API).

Poznámka:

Tento obsah souvisí s transakčním úložištěm TTL služby Azure Cosmos DB. Pokud hledáte hodnotu TTL analytického úložiště, která umožňuje scénáře NoETL HTAP prostřednictvím služby Azure Synapse Link, klikněte sem.

Doba života pro kontejnery a položky

Hodnota time to live je nastavena v sekundách a interpretuje se jako rozdíl od času poslední změny položky. V kontejneru nebo v rámci kontejneru můžete nastavit dobu, kdy se má v kontejneru žít:

  1. Time to Live on a container (set using DefaultTimeToLive):

    • Pokud chybí (nebo je nastavená hodnota null), nevypršela platnost položek automaticky.

    • Pokud je hodnota přítomen a hodnota je nastavená na -1, je rovna nekonečnu a položky nevyprší ve výchozím nastavení.

    • Pokud existuje hodnota a hodnota je nastavena na některé nenulové číslo "n" – položky vyprší " n" sekund po jejich čase poslední změny.

  2. Time to Live on an item (set using ttl):

    • Tato vlastnost se vztahuje pouze v případě DefaultTimeToLive , že je k dispozici a není nastavena na hodnotu null pro nadřazený kontejner.

    • Pokud je k dispozici, přepisuje hodnotu DefaultTimeToLive nadřazeného kontejneru.

Konfigurace Time to Live

  • Pokud je hodnota TTL v kontejneru nastavená na n , vyprší platnost položek v daném kontejneru po n sekundách. Pokud jsou ve stejném kontejneru položky, které mají svůj vlastní čas naživo, nastavte na hodnotu -1 (což znamená, že nevyprší jejich platnost). Pokud některé položky přepíší nastavení času naživo jiným číslem, vyprší platnost těchto položek na základě jejich vlastní nakonfigurované hodnoty TTL.

  • Pokud hodnota TTL není nastavená na kontejner, nemá čas na aktivní položku v tomto kontejneru žádný vliv.

  • Pokud je hodnota TTL v kontejneru nastavená na hodnotu -1, vyprší platnost položky v tomto kontejneru, která má nastavený čas na hodnotu n, po n sekundách a zbývající položky nevyprší.

Příklady

Tato část ukazuje některé příklady s různými hodnotami času naživo přiřazené kontejneru a položkám:

Poznámka:

Nastavení hodnoty TTL na hodnotu null u položky není podporováno. Hodnota TTL položky musí být nenulové kladné celé číslo menší nebo rovno 2147483647 nebo -1, což znamená, že položka nikdy nevyprší. Pokud chcete pro položku použít výchozí hodnotu TTL, ujistěte se, že vlastnost TTL není k dispozici.

Příklad 1

Hodnota TTL v kontejneru je nastavená na hodnotu null (DefaultTimeToLive = null).

Hodnota TTL u položky Výsledek
Chybějící vlastnost ttl Hodnota TTL je zakázaná. Položka nikdy nevyprší (výchozí).
ttl = -1 Hodnota TTL je zakázaná. Položka nikdy nevyprší.
ttl = 2000 Hodnota TTL je zakázaná. Položka nikdy nevyprší.

Příklad 2

Hodnota TTL v kontejneru je nastavená na -1 (DefaultTimeToLive = -1)

Hodnota TTL u položky Výsledek
Chybějící vlastnost ttl Je povolená hodnota TTL. Položka nikdy nevyprší (výchozí).
ttl = -1 Je povolená hodnota TTL. Položka nikdy nevyprší.
ttl = 2000 Je povolená hodnota TTL. Položka vyprší po 2000 sekundách.

Příklad 3

Hodnota TTL v kontejneru je nastavená na 1000 (DefaultTimeToLive = 1000)

Hodnota TTL u položky Výsledek
Chybějící vlastnost ttl Je povolená hodnota TTL. Položka vyprší po 1000 sekundách (výchozí).
ttl = -1 Je povolená hodnota TTL. Položka nikdy nevyprší.
ttl = 2000 Je povolená hodnota TTL. Položka vyprší po 2000 sekundách.

Další kroky

Informace o konfiguraci funkce Time to Live najdete v následujících článcích: