Udostępnij za pośrednictwem


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

DOTYCZY: NoSQL

W przypadku czasu wygaśnięcia lub czasu wygaśnięcia usługa Azure Cosmos DB automatycznie usuwa elementy z kontenera po upływie określonego czasu. 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 w kontenerze lub na poziomie 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. Podczas konfigurowania czasu wygaśnięcia system automatycznie usuwa wygasłe elementy na podstawie wartości czasu wygaśnięcia bez konieczności jawnego usuwania wydanej przez aplikację kliencką. Maksymalna wartość czasu wygaśnięcia wynosi 2147 483 647 sekund, przybliżony odpowiednik 24 855 dni lub 68 lat.

Wygasłe elementy są usuwane jako zadanie w tle. Element nie będzie już wyświetlany w odpowiedziach zapytania natychmiast po wygaśnięciu czasu wygaśnięcia, nawet jeśli nie został jeszcze trwale usunięty z kontenera. Jeśli kontener nie ma wystarczającej liczby jednostek żądania (RU), aby wykonać usunięcie, usunięcie danych zostanie opóźnione. Dane zostaną usunięte po udostępnieniu wystarczającej liczby jednostek RU do ukończenia usuwania.

W przypadku aprowizowanego konta przepływności usunięcie wygasłych elementów używa pozostałych jednostek RU, które nie zostały zużyte przez żądania użytkowników.

W przypadku kont bezserwerowych usunięcie wygasłych elementów jest naliczane w jednostkach RU w tej samej stawce co operacje usuwania elementów.

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 umożliwia scenariusze NoETL HTAP za pośrednictwem usługi 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 kontenera lub elementu 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ść jest obecna, a wartość jest ustawiona na "-1" , jest równa nieskończoności, a elementy nie wygasają domyślnie.

    • Jeśli wartość jest obecna i jest ustawiona na pewną liczbę niezerową "n", elementy wygasną "n" sekund po ostatniej modyfikacji czasu.

  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 ma wartość "n" w kontenerze, elementy w tym kontenerze wygasną po n sekundach. Jeśli w tym samym kontenerze znajdują się elementy, które mają własny czas wygaśnięcia, ustaw wartość -1 (co oznacza, że nie wygasają). Jeśli niektóre elementy zastępują ustawienie czasu wygaśnięcia z inną liczbą, te elementy wygasają na podstawie własnej skonfigurowanej wartości czasu wygaśnięcia.

  • Jeśli czas wygaśnięcia nie jest ustawiony w kontenerze, czas wygaśnięcia elementu w tym kontenerze nie ma wpływu.

  • 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 i pozostałe elementy nie wygaśnie.

Przykłady

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

Uwaga

Ustawienie wartości TTL na wartość null w elemencie nie jest obsługiwane. Wartość czasu wygaśnięcia elementu musi być niezerową liczbą całkowitą mniejszą lub równą 2147483647 lub -1, co oznacza, że element nigdy nie wygaśnie. Aby użyć domyślnego czasu wygaśnięcia elementu, upewnij się, że właściwość TTL nie jest obecna.

Przykład 1

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

Czas wygaśnięcia elementu Result
Brak właściwości czasu wygaśnięcia Czas wygaśnięcia jest wyłączony. Element nigdy nie wygasa (wartość domyślna).
ttl = -1 Czas wygaśnięcia jest wyłączony. Element nigdy nie wygasa.
ttl = 2000 Czas wygaśnięcia jest wyłączony. Element nigdy nie wygasa.

Przykład 2

Czas wygaśnięcia w kontenerze jest ustawiony na -1 (DefaultTimeToLive = -1)

Czas wygaśnięcia elementu Result
Brak właściwości czasu wygaśnięcia Czas wygaśnięcia jest włączony. Element nigdy nie wygasa (wartość domyślna).
ttl = -1 Czas wygaśnięcia jest włączony. Element nigdy nie wygasa.
ttl = 2000 Czas wygaśnięcia jest włączony. Element wygasa po 2000 sekundach.

Przykład 3

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

Czas wygaśnięcia elementu Result
Brak właściwości czasu wygaśnięcia 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.
ttl = 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: