Durée de vie (TTL) dans Azure Cosmos DB
S’APPLIQUE À : NoSQL
Avec la durée de vie (TTL, Time to Live), Azure Cosmos DB supprime automatiquement des éléments d’un conteneur après une période déterminée. La durée de vie par défaut peut être définie au niveau du conteneur et être substituée par élément. Une fois la durée de vie définie au niveau d'un conteneur ou d'un élément, Azure Cosmos DB supprime automatiquement les éléments correspondants au terme de la période écoulée depuis la dernière modification. La valeur de durée de vie est définie en secondes. Lorsque vous définissez la durée de vie (TTL), le système supprime automatiquement les éléments arrivés à expiration en fonction de la valeur TTL, sans avoir besoin d’une opération de suppression explicitement émise par l’application cliente. La valeur maximale pour TTL est 2 147 483 647 secondes, soit environ 24 855 jours ou 68 ans.
La suppression des éléments expirés est une tâche en arrière-plan qui utilise des unités de requête restantes qui n’ont pas été utilisées par les requêtes de l’utilisateur. Même après l’expiration de la durée de vie (TTL), si le conteneur est surchargé de requêtes et si le nombre d’unités de requête est insuffisant, la suppression des données est retardée. Les données sont supprimées une fois que le nombre d’unités de requête disponibles est suffisant pour effectuer l’opération de suppression. Bien que la suppression des données soit différée, les données ne sont renvoyées par aucune requête (par aucune API) après l’expiration de la durée de vie (TTL).
Remarque
Ce contenu concerne la TTL des magasins transactionnels d’Azure Cosmos DB. Si vous recherchez la TTL des magasins analytiques, qui permet des scénarios de HTAP NoETL via Azure Synapse Link, cliquez ici.
Durée de vie pour les conteneurs et éléments
La valeur de durée de vie est définie en secondes et interprétée en tant qu’écart par rapport à la dernière modification de l’élément. Vous pouvez définir la durée de vie sur un conteneur ou sur un élément présent dans le conteneur :
Durée de vie sur un conteneur (définie via
DefaultTimeToLive
) :Si ce paramètre est manquant (ou s'il est défini sur nul), les éléments n'expirent pas automatiquement.
Si ce paramètre est présent et que sa valeur est définie sur « -1 », il est égal à l’infini et, par défaut, les éléments n’expirent pas.
Si ce paramètre est présent et que sa valeur est définie sur un nombre différent de zéro« n », les éléments expirent « n » secondes après leur dernière heure de modification.
Durée de vie sur un élément (définie via
ttl
) :Cette propriété s'applique uniquement si la propriété
DefaultTimeToLive
est présente et qu'elle n'est pas définie sur nul pour le conteneur parent.Si elle est présente, elle remplace la valeur
DefaultTimeToLive
du conteneur parent.
Configurations de durée de vie
Si une durée de vie de « n » est définie sur un conteneur, les éléments présents dans ce conteneur expireront après n secondes. Si des éléments dans le même conteneur ont leur propre durée de vie définie sur -1 (indiquant qu’ils n’expirent pas). Si certains éléments remplacent le paramètre de durée de vie avec un nombre différent, ces éléments expirent en fonction de leur propre valeur de durée de vie (TTL) configurée.
Si aucune durée de vie (TTL) n'est définie sur un conteneur, la durée de vie définie sur un élément présent dans ce conteneur n'a aucun effet.
Si une durée de vie (TTL) de -1 est définie sur un conteneur, un élément présent dans ce conteneur et dont la durée de vie est définie sur n expirera après n secondes, et les autres éléments n'expireront pas.
Exemples
Cette section présente quelques exemples avec différentes valeurs de durée de vie affectées aux conteneurs et aux éléments :
Remarque
La définition de la durée de vie (TTL) sur nul sur un élément n’est pas prise en charge. La valeur de durée de vie (TTL) de l’élément doit être un entier positif différent de zéro inférieur ou égal à 2147483647, ou -1, ce qui signifie que l’élément n’expirera jamais. Pour utiliser la durée de vie (TTL) par défaut sur un élément, vérifiez que la propriété TTL n’est pas présente.
Exemple 1
La durée de vie sur le conteneur est définie par null (DefaultTimeToLive = null)
Durée de vie sur un élément | Résultat |
---|---|
propriété TTL manquante | La durée de vie est désactivée. L’élément n’expire jamais (par défaut). |
ttl = -1 | La durée de vie est désactivée. L’élément n’expire jamais. |
ttl = 2000 | La durée de vie est désactivée. L’élément n’expire jamais. |
Exemple 2
La durée de vie sur le conteneur est définie par -1 (DefaultTimeToLive = -1)
Durée de vie sur un élément | Résultat |
---|---|
propriété TTL manquante | La durée de vie est activée. L’élément n’expire jamais (par défaut). |
ttl = -1 | La durée de vie est activée. L’élément n’expire jamais. |
ttl = 2000 | La durée de vie est activée. L’élément expire après 2 000 secondes. |
Exemple 3
La durée de vie sur le conteneur est définie par 1000 (DefaultTimeToLive = 1000)
Durée de vie sur un élément | Résultat |
---|---|
propriété TTL manquante | La durée de vie est activée. L’élément expire après 1000 secondes (par défaut). |
ttl = -1 | La durée de vie est activée. L’élément n’expire jamais. |
ttl = 2000 | La durée de vie est activée. L’élément expire après 2 000 secondes. |
Étapes suivantes
Apprenez à configurer la durée de vie dans les articles suivants :
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de l’année 2024, nous abandonnerons progressivement le mécanisme de retour d’information GitHub Issues pour le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultez :Soumettre et afficher des commentaires pour