Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Activer le time to live (TTL) dans DynamoDB
Note
Pour faciliter le débogage et la vérification du bon fonctionnement de la TTL fonctionnalité, les valeurs fournies pour l'élément TTL sont enregistrées en texte brut dans les journaux de diagnostic DynamoDB.
Vous pouvez activer le AWS CLI() TTL dans la console Amazon DynamoDB ou utiliser AWS Command Line Interface le Amazon DynamoDB Reference avec n'importe lequel des API supposés. AWS SDKs L'activation TTL sur toutes les partitions prend environ une heure.
Connectez-vous à la console DynamoDB AWS Management Console et ouvrez-la à l'adresse. https://console.aws.amazon.com/dynamodb/
-
Choisissez Tables, puis choisissez la table à modifier.
-
Dans l'onglet Paramètres supplémentaires, dans la section Durée de vie (TTL), choisissez Activer pour activerTTL.
-
Lors de l'activation TTL sur une table, DynamoDB vous demande d'identifier un nom d'attribut spécifique que le service recherchera pour déterminer si un article est éligible à une date d'expiration. Le nom de TTL l'attribut, illustré ci-dessous, distingue les majuscules et minuscules et doit correspondre à l'attribut défini dans vos opérations de lecture et d'écriture. En cas de non-concordance, les articles expirés ne seront pas supprimés. Pour renommer l'TTLattribut, vous devez le désactiver TTL puis le réactiver avec le nouvel attribut à l'avenir. TTLcontinuera à traiter les suppressions pendant environ 30 minutes une fois qu'elle sera désactivée. TTLdoit être reconfiguré sur les tables restaurées.
-
(Facultatif) Vous pouvez effectuer un test en simulant la date et l'heure de l'expiration et en faisant correspondre quelques éléments. Cela vous fournit un exemple de liste d'éléments et confirme qu'il existe des éléments contenant le nom d'TTLattribut fourni ainsi que le délai d'expiration.
Une fois TTL activé, l'TTLattribut est marqué TTLlorsque vous affichez des éléments sur la console DynamoDB. Vous pouvez afficher la date et l'heure d'expiration d'un élément en faisant passer votre souris au-dessus de l'attribut.
-
Activez TTL sur la
TTLExample
table.aws dynamodb update-time-to-live --table-name TTLExample --time-to-live-specification "Enabled=true, AttributeName=ttl"
-
Décrivez TTL sur le
TTLExample
tableau.aws dynamodb describe-time-to-live --table-name TTLExample { "TimeToLiveDescription": { "AttributeName": "ttl", "TimeToLiveStatus": "ENABLED" } }
-
Ajoutez un élément au
TTLExample
tableau avec l'attribut Time to Live défini à l'aide du BASH shell et du AWS CLI.EXP=`date -d '+5 days' +%s` aws dynamodb put-item --table-name "TTLExample" --item '{"id": {"N": "1"}, "ttl": {"N": "'$EXP'"}}'
Cet exemple démarre par la date actuelle à laquelle cinq jours sont ajoutés pour créer une date d'expiration. Il a ensuite converti l'heure d'expiration en heure au format epoch pour ajouter en dernier lieu un élément à la table « TTLExample
».
Note
Pour définir des valeurs d'expiration pour TTL, l'une des méthodes à votre disposition consiste à calculer le nombre de secondes à ajouter à l'heure d'expiration. Par exemple, 5 jours équivalent à 432 000 secondes. Toutefois, il est souvent préférable de commencer par une date et de définir le reste en fonction de celle-ci.
Il est relativement simple d'obtenir l'heure actuelle au format epoch, comme dans l'exemple suivant.
-
Terminal Linux :
date +%s
-
Python:
import time; int(time.time())
-
Java:
System.currentTimeMillis() / 1000L
-
JavaScript:
Math.floor(Date.now() / 1000)
AWSTemplateFormatVersion: "2010-09-09" Resources: TTLExampleTable: Type: AWS::DynamoDB::Table Description: "A DynamoDB table with TTL Specification enabled" Properties: AttributeDefinitions: - AttributeName: "Album" AttributeType: "S" - AttributeName: "Artist" AttributeType: "S" KeySchema: - AttributeName: "Album" KeyType: "HASH" - AttributeName: "Artist" KeyType: "RANGE" ProvisionedThroughput: ReadCapacityUnits: "5" WriteCapacityUnits: "5" TimeToLiveSpecification: AttributeName: "TTLExampleAttribute" Enabled: true
Vous trouverez des informations supplémentaires sur l'utilisation TTL dans vos AWS CloudFormation modèles ici.