Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Abilitazione del Time to Live in DynamoDB
Nota
Per facilitare il debug e la verifica del corretto funzionamento della funzionalità del TTL, i valori forniti per l’elemento TTL vengono registrati in testo semplice nei log di diagnostica di DynamoDB.
È possibile abilitare il TTL nella console Amazon DynamoDB, nella AWS Command Line Interface (AWS CLI) o utilizzando la documentazione di riferimento dell’API DynamoDB con uno qualsiasi degli SDK AWS previsti. È necessaria circa un’ora per abilitare il TTL su tutte le partizioni.
Accedi alla console Console di gestione AWS e apri la console DynamoDB all'indirizzo https://console.aws.amazon.com/elasticache/
. -
Scegli Tables (Tabelle) e quindi seleziona la tabella da modificare.
-
Nella scheda Impostazioni aggiuntive, nella sezione Time to Live (TTL) seleziona Attiva.
-
Quando abiliti TTL su una tabella, DynamoDB richiede di indicare un determinato nome attributo ricercato dal servizio per determinare se un item è idoneo per la scadenza. Il nome dell’attributo TTL, mostrato di seguito, fa distinzione tra maiuscole e minuscole e deve corrispondere all’attributo definito nelle operazioni di lettura e scrittura. In caso di mancata corrispondenza, gli elementi scaduti non verranno eliminati. La ridenominazione dell’attributo TTL richiede di disabilitare il TTL, per poi riabilitarlo con il nuovo attributo. Una volta disabilitato, il TTL continuerà a elaborare le eliminazioni per circa 30 minuti. Il TTL deve essere riconfigurato sulle tabelle ripristinate.
-
(Facoltativo) È possibile eseguire un test simulando la data e l’ora della scadenza con la corrispondenza di alcuni elementi. Questo fornisce un elenco di esempio di elementi e conferma che esistono elementi contenenti il nome dell’attributo TTL fornito insieme alla scadenza.
Una volta abilitato il TTL, l’attributo TTL viene contrassegnato come TTL quando si visualizzano gli elementi nella console DynamoDB. Puoi visualizzare la data e l'ora di scadenza di un item passando il puntatore del mouse sull'attributo.
-
Abilita TTL nella tabella
TTLExample.aws dynamodb update-time-to-live --table-name TTLExample --time-to-live-specification "Enabled=true, AttributeName=ttl" -
Descrivi TTL nella tabella
TTLExample.aws dynamodb describe-time-to-live --table-name TTLExample { "TimeToLiveDescription": { "AttributeName": "ttl", "TimeToLiveStatus": "ENABLED" } } -
Aggiungi un elemento alla tabella
TTLExamplecon l'attributo Time to Live (TTL) impostato usando la shell BASH e la AWS CLI.EXP=`date -d '+5 days' +%s` aws dynamodb put-item --table-name "TTLExample" --item '{"id": {"N": "1"}, "ttl": {"N": "'$EXP'"}}'
Questo esempio inizia con la data corrente e aggiunge 5 giorni per creare un periodo di scadenza. Il periodo di scadenza viene quindi convertito nel formato temporale epoch Unix per aggiungere infine un item nella tabella TTLExample.
Nota
Un modo per impostare i valori di scadenza per il Time to Live (TTL) consiste nel calcolare il numero di secondi da aggiungere al periodo di scadenza. Ad esempio, 5 giorni sono 432.000 secondi. È tuttavia in genere preferibile scegliere come punto di partenza una data.
Ottenere l'ora corrente in formato epoch Unix è piuttosto semplice, come negli esempi seguenti.
-
Terminale 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
Ulteriori dettagli sull’utilizzo del TTL all’interno dei modelli CloudFormation sono disponibili qui.