Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
ОБЛАСТЬ ПРИМЕНЕНИЯ: NoSQL
С временем жизни или TTL Azure Cosmos DB автоматически удаляет элементы из контейнера после заданного времени. По умолчанию можно задать срок жизни на уровне контейнера и переопределить значения по элементу. После установки срока жизни на уровне контейнера или элемента Azure Cosmos DB будет автоматически удалять эти элементы по прошествии периода времени с момента их последнего изменения. Значение срока жизни настраивается в секундах. При настройке TTL система автоматически удаляет просроченные элементы на основе значения TTL, не требуя явной операции удаления, выданной клиентским приложением. Максимальное значение для TTL составляет 2 147 483 647 секунд, приблизительное значение 24 855 дней или 68 лет.
Просроченные элементы удаляются как фоновая задача. Элемент больше не будет отображаться в ответах запроса сразу после истечения срока действия TTL, даже если он еще не был окончательно удален из контейнера. Если контейнеру недостаточно единиц запросов (ЕЗ) для выполнения удаления, удаление данных будет отложено. Данные будут удалены после того, как будет достаточно ресурсов для завершения удаления.
Для подготовленных учетных записей пропускной способности удаление просроченных элементов использует оставшиеся RUs, которые не были потреблены запросами пользователей.
Для бессерверных учетных записей удаление просроченных элементов оплачивается в RUs по той же ставке, что и операции удаления элементов.
Примечание.
Это содержимое относится к сроку хранения данных (TTL) в транзакционном хранилище Azure Cosmos DB. Если вы ищете TTL для аналитического хранилища, которое поддерживает сценарии NoETL HTAP с использованием Azure Synapse Link, щелкните здесь.
Срок жизни контейнеров и элементов
Время жизни задается в секундах и интерпретируется как разностное значение с момента последнего изменения элемента. Вы можете установить срок жизни для контейнера или элемента в контейнере:
Срок жизни контейнера (устанавливается с использованием значения
DefaultTimeToLive
):Если отсутствуют (или установлено значение NULL), элементы не истекают автоматически.
Если параметр присутствует и его значение установлено на "-1", это эквивалентно бесконечности, и элементы по умолчанию не истекают.
Если присутствует значение и оно установлено на некоторое ненулевое число "n", элементы истекут через "n" секунд после времени их последнего изменения.
Срок жизни элемента (устанавливается с использованием значения
ttl
):Это свойство применимо только в том случае, если
DefaultTimeToLive
присутствует и не установлено значение null для родительского контейнера.Если свойство присутствует, оно переопределяет значение
DefaultTimeToLive
родительского контейнера.
Настройки срока жизни
Если для контейнера задан срок жизни n, элементы в нем будут удалены по истечении n секунд. Если в одном контейнере есть элементы с собственным временем жизни, задайте значение -1 (указывающее, что срок действия не истекает). Если некоторые элементы переопределяют установку времени жизни с отличным числовым значением, эти элементы истекают в соответствии с собственным заданным значением TTL.
Если TTL не задан в контейнере, то время жизни элемента в этом контейнере не оказывает влияния.
Если значение TTL в контейнере имеет значение -1, элемент в этом контейнере с временем жизни, срок действия которого истекает через n секунд, а остальные элементы не будут истекать.
Примеры
В этом разделе приведено несколько примеров, где контейнеру и элементам присваиваются разные значения срока жизни.
Примечание.
Установка значения TTL на значение NULL для элемента не поддерживается. Значение TTL элемента должно быть ненулевое положительное целое число меньше или равно 2147483647 или -1, что означает, что элемент никогда не истекает. Чтобы использовать TTL по умолчанию для элемента, убедитесь, что свойство TTL отсутствует.
Пример 1
В качестве срока жизни контейнера задано значение NULL (DefaultTimeToLive = null)
Срок жизни элемента | Результат |
---|---|
Отсутствует свойство ttl | Время жизни пакета отключено. Срок действия элемента не истекает (по умолчанию). |
Срок жизни = –1 | Время жизни пакета отключено. Срок действия элемента никогда не истекает. |
Срок жизни = 2000 | Время жизни пакета отключено. Срок действия элемента никогда не истекает. |
Пример 2
В качестве срока жизни контейнера задано значение –1 (DefaultTimeToLive = –1)
Срок жизни элемента | Результат |
---|---|
Отсутствует свойство ttl | TTL включен. Срок действия элемента не истекает (по умолчанию). |
Срок жизни = –1 | TTL включен. Срок действия элемента никогда не истекает. |
Срок жизни = 2000 | TTL включен. Срок действия элемента истекает через 2000 секунд. |
Пример 3
В качестве срока жизни контейнера задано значение 1000 (DefaultTimeToLive = 1000)
Срок жизни элемента | Результат |
---|---|
Отсутствует свойство ttl | TTL включен. Срок действия элемента истекает через 1000 секунд (по умолчанию). |
Срок жизни = –1 | TTL включен. Срок действия элемента не ограничен. |
Срок жизни = 2000 | TTL включен. Срок действия элемента истекает через 2000 секунд. |
Следующие шаги
Чтобы узнать, как настроить срок жизни, ознакомьтесь со статьей: