Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Time to live (TTL) in DynamoDB aktivieren
Anmerkung
Um das Debuggen und die Überprüfung des ordnungsgemäßen Funktionierens der TTL Funktion zu unterstützen, TTL werden die für das Element bereitgestellten Werte in Klartext in DynamoDB-Diagnoseprotokollen protokolliert.
Sie können das AWS Command Line Interface (AWS CLI) TTL in der Amazon DynamoDB DynamoDB-Konsole oder mithilfe der Amazon DynamoDB API DynamoDB-Referenz mit einem der angegebenen Optionen aktivieren. AWS SDKs Die Aktivierung TTL auf allen Partitionen dauert ungefähr eine Stunde.
Melden Sie sich bei der an AWS Management Console und öffnen Sie die DynamoDB-Konsole unter. https://console.aws.amazon.com/dynamodb/
-
Wählen Sie Tables (Tabellen) und anschließend die Tabelle aus, die Sie ändern möchten.
-
Wählen Sie auf der Registerkarte Zusätzliche Einstellungen im Abschnitt Time to Live (TTL) die Option Aktivieren aus. TTL
-
Bei TTL der Aktivierung für eine Tabelle müssen Sie in DynamoDB einen bestimmten Attributnamen angeben, nach dem der Service sucht, um zu ermitteln, ob ein Element ablauffähig ist. Bei dem unten abgebildeten TTL Attributnamen wird zwischen Groß- und Kleinschreibung unterschieden und er muss mit dem in Ihren Lese- und Schreibvorgängen definierten Attribut übereinstimmen. Eine Nichtübereinstimmung führt dazu, dass abgelaufene Artikel nicht gelöscht werden. Um das TTL Attribut umzubenennen, müssen Sie es deaktivieren TTL und anschließend mit dem neuen Attribut wieder aktivieren. TTLverarbeitet Löschungen nach der Deaktivierung noch etwa 30 Minuten lang. TTLmuss für wiederhergestellte Tabellen neu konfiguriert werden.
-
(Optional) Sie können einen Test durchführen, indem Sie Datum und Uhrzeit des Ablaufs simulieren und einige Elemente miteinander vergleichen. Dadurch erhalten Sie eine Musterliste mit Elementen und es wird bestätigt, dass es Elemente gibt, die den angegebenen TTL Attributnamen zusammen mit der Ablaufzeit enthalten.
Nach der Aktivierung TTL wird das TTL Attribut markiert, TTLwenn Sie Elemente auf der DynamoDB-Konsole anzeigen. Sie können den Termin anzeigen, an dem ein Element abläuft, indem Sie mit dem Mauszeiger über das Attribut fahren.
-
Aktivieren Sie es TTL auf dem
TTLExample
Tisch.aws dynamodb update-time-to-live --table-name TTLExample --time-to-live-specification "Enabled=true, AttributeName=ttl"
-
Beschreiben Sie es TTL auf dem
TTLExample
Tisch.aws dynamodb describe-time-to-live --table-name TTLExample { "TimeToLiveDescription": { "AttributeName": "ttl", "TimeToLiveStatus": "ENABLED" } }
-
Fügen Sie der
TTLExample
Tabelle mithilfe der BASH Shell und der ein Element hinzu, für das das Time to Live-Attribut festgelegt ist AWS CLI.EXP=`date -d '+5 days' +%s` aws dynamodb put-item --table-name "TTLExample" --item '{"id": {"N": "1"}, "ttl": {"N": "'$EXP'"}}'
In diesem Beispiel wurde mit dem aktuellen Datum begonnen und es wurden 5 Tage hinzugefügt, um ein Ablaufdatum zu erstellen. Anschließend wird das Ablaufdatum in ein Epoch-Zeitformat umgewandelt, um der Tabelle "TTLExample
" ein Element hinzuzufügen.
Anmerkung
Eine Möglichkeit, Ablaufwerte für Time to Live festzulegen, besteht darin, die Anzahl von Sekunden zu berechnen, die dem Ablaufdatum hinzugefügt werden. Beispielsweise sind 5 Tage 432.000 Sekunden. Es ist jedoch häufig besser, mit einem Datum zu beginnen und dieses als Ausgangspunkt zu nehmen.
Es ist relativ einfach, die aktuelle Zeit im Epoch-Zeitformat zu erhalten, wie in folgenden Beispielen veranschaulicht.
-
Linux-Terminal:
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
Weitere Informationen zur Verwendung TTL in Ihren AWS CloudFormation Vorlagen finden Sie hier.