Utilisation de la durée de vie (TTL) dans DynamoDB - Amazon DynamoDB

Utilisation de la durée de vie (TTL) dans DynamoDB

La durée de vie (TTL) de DynamoDB est une méthode économique pour supprimer les éléments qui ne sont plus pertinents. Elle vous permet de définir un horodatage d’expiration par élément pour indiquer quand cet élément n’est plus nécessaire. DynamoDB supprime automatiquement les éléments ayant expiré quelques jours après leur date d’expiration, sans consommer de débit d’écriture.

Pour utiliser la TTL, activez-la d’abord sur une table, puis définissez un attribut spécifique pour stocker l’horodatage d’expiration de la TTL. L’horodatage doit être stocké au format d’heure epoch Unix avec une granularité de quelques secondes. Chaque fois qu’un élément est créé ou mis à jour, vous pouvez calculer le délai d’expiration et l’enregistrer dans l’attribut TTL.

Les éléments dont les attributs TTL sont valides et ayant expiré peuvent être supprimés par le système à tout moment, généralement quelques jours après leur expiration. Vous pouvez à tout moment mettre à jour les éléments ayant expiré qui sont en attente de suppression, notamment en modifiant ou en supprimant leurs attributs TTL. Lors de la mise à jour d’un élément ayant expiré, nous vous recommandons d’utiliser une expression conditionnelle pour vous assurer que l’élément n’a pas été supprimé ultérieurement. Utilisez des expressions de filtre pour supprimer les éléments ayant expiré des résultats Scan et Query.

Les éléments supprimés fonctionnent de la même manière que ceux supprimés par le biais d’opérations de suppression classiques. Une fois supprimés, les éléments sont placés dans DynamoDB Streams sous forme de suppression de service au lieu d’être supprimés par l’utilisateur, et sont supprimés des index secondaires locaux et globaux comme avec les autres opérations de suppression.

Si vous utilisez des tables globales version 2019.11.21 (actuelle) et que vous utilisez également la fonctionnalité TTL, DynamoDB réplique les suppressions par TTL sur toutes les tables de réplica. La suppression par TTL initiale ne consomme pas d’unités de capacité d’écriture (WCU) dans la région dans laquelle l’expiration de la TTL a lieu. Toutefois, la suppression par TTL répliquée dans les tables de réplica consomme une unité de capacité d’écriture répliquée lorsque vous utilisez la capacité provisionnée ou une unité d’écriture répliquée lorsque vous utilisez le mode de capacité à la demande, dans chacune des régions de réplica, et des frais s’appliquent.

Pour plus d’informations sur TTL, veuillez consulter les rubriques suivantes :