Czas wygaśnięcia (TTL) w usłudze Azure Cosmos DB

DOTYCZY: interfejs API SQL

W przypadku czasu wygaśnięcia lub czasu wygaśnięcia usługa Azure Cosmos DB umożliwia automatyczne usuwanie elementów z kontenera po określonym czasie. Domyślnie można ustawić czas wygaśnięcia na poziomie kontenera i zastąpić wartość dla poszczególnych elementów. Po ustawieniu czasu wygaśnięcia na poziomie kontenera lub elementu usługa Azure Cosmos DB automatycznie usunie te elementy po upływie okresu od czasu ostatniej modyfikacji. Czas wygaśnięcia jest konfigurowany w sekundach. Po skonfigurowaniu czasu wygaśnięcia system automatycznie usunie wygasłe elementy na podstawie wartości czasu wygaśnięcia bez konieczności wykonywania operacji usuwania jawnie wydanej przez aplikację kliencką. Maksymalna wartość czasu wygaśnięcia wynosi 2147483647.

Usunięcie wygasłych elementów jest zadaniem w tle, które korzysta z pozostałych jednostek żądań, czyli jednostek żądań, które nie zostały zużyte przez żądania użytkowników. Nawet po wygaśnięciu czasu wygaśnięcia, jeśli kontener jest przeciążony żądaniami i jeśli nie ma wystarczającej liczby jednostek RU, usunięcie danych jest opóźnione. Dane są usuwane po uzyskaniu wystarczającej liczby jednostek RU dostępnych do wykonania operacji usuwania. Chociaż usunięcie danych jest opóźnione, dane nie są zwracane przez żadne zapytania (przez interfejs API) po wygaśnięciu czasu wygaśnięcia.

Uwaga

Ta zawartość jest powiązana z czas wygaśnięcia magazynu transakcyjnego usługi Azure Cosmos DB. Jeśli szukasz czasu wygaśnięcia magazynu analitycznego, który włącza scenariusze NoETL HTAP za pośrednictwem Azure Synapse Link, kliknij tutaj.

Czas wygaśnięcia dla kontenerów i elementów

Czas wygaśnięcia jest ustawiany w sekundach i jest interpretowany jako różnica od czasu ostatniej modyfikacji elementu. Możesz ustawić czas wygaśnięcia w kontenerze lub elemencie w kontenerze:

  1. Czas wygaśnięcia w kontenerze (ustaw przy użyciu polecenia DefaultTimeToLive):

    • Jeśli brakuje (lub ustawiono wartość null), elementy nie wygasły automatycznie.

    • Jeśli wartość istnieje i została ustawiona na wartość „-1”, jest równa nieskończoności, a elementy nie wygasają domyślnie.

    • Jeśli wartość istnieje i została ustawiona na liczbę inną niż zero„n” — elementy wygasną po upływie „n” sekund od czasu ostatniej modyfikacji.

  2. Czas wygaśnięcia elementu (ustaw przy użyciu polecenia ttl):

    • Ta właściwość ma zastosowanie tylko wtedy, gdy DefaultTimeToLive jest obecna i nie jest ustawiona na wartość null dla kontenera nadrzędnego.

    • Jeśli parametr istnieje, zastępuje wartość DefaultTimeToLive kontenera nadrzędnego.

Czas wygaśnięcia konfiguracji

  • Jeśli czas wygaśnięcia jest ustawiony na wartość "n" w kontenerze, elementy w tym kontenerze wygasną po n sekundach. Jeśli istnieją elementy w tym samym kontenerze, które mają własny czas wygaśnięcia, ustaw wartość -1 (wskazując, że nie wygasają) lub jeśli niektóre elementy przesłaniają czas wygaśnięcia z inną liczbą, te elementy wygasają na podstawie własnej skonfigurowanej wartości czasu wygaśnięcia.

  • Jeśli w kontenerze nie ustawiono czasu wygaśnięcia, czas wygaśnięcia elementu w tym kontenerze nie obowiązuje.

  • Jeśli czas wygaśnięcia w kontenerze ma wartość -1, element w tym kontenerze, który ma czas wygaśnięcia ustawiony na n, wygaśnie po n sekundach, a pozostałe elementy nie wygasną.

Przykłady

W tej sekcji przedstawiono kilka przykładów z innym czasem wygaśnięcia wartości przypisanych do kontenera i elementów:

Przykład 1

Czas wygaśnięcia w kontenerze ma wartość null (DefaultTimeToLive = null)

Czas wygaśnięcia elementu Wynik
ttl = null Czas wygaśnięcia jest wyłączony. Element nigdy nie wygaśnie (wartość domyślna).
ttl = -1 Czas wygaśnięcia jest wyłączony. Element nigdy nie wygaśnie.
czas wygaśnięcia = 2000 Czas wygaśnięcia jest wyłączony. Element nigdy nie wygaśnie.

Przykład 2

Czas wygaśnięcia w kontenerze ma wartość -1 (DefaultTimeToLive = -1)

Czas wygaśnięcia elementu Wynik
ttl = null Czas wygaśnięcia jest włączony. Element nigdy nie wygaśnie (wartość domyślna).
ttl = -1 Czas wygaśnięcia jest włączony. Element nigdy nie wygaśnie.
czas wygaśnięcia = 2000 Czas wygaśnięcia jest włączony. Element wygaśnie po 2000 sekundach.

Przykład 3

Czas wygaśnięcia w kontenerze jest ustawiony na wartość 1000 (DefaultTimeToLive = 1000)

Czas wygaśnięcia elementu Wynik
ttl = null Czas wygaśnięcia jest włączony. Element wygaśnie po 1000 sekundach (wartość domyślna).
ttl = -1 Czas wygaśnięcia jest włączony. Element nigdy nie wygaśnie.
czas wygaśnięcia = 2000 Czas wygaśnięcia jest włączony. Element wygaśnie po 2000 sekundach.

Następne kroki

Dowiedz się, jak skonfigurować czas wygaśnięcia w następujących artykułach: