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.
Anmerkung
Um das Debuggen und die Überprüfung des ordnungsgemäßen Betriebs der TTL-Funktion zu unterstützen, werden die für das Element TTL bereitgestellten Werte im Klartext in DynamoDB-Diagnoseprotokollen protokolliert.
Sie können TTL in der Amazon DynamoDB DynamoDB-Konsole AWS Command Line Interface (AWS CLI) oder mithilfe der Amazon DynamoDB DynamoDB-API-Referenz mit einer der angegebenen Optionen aktivieren. AWS SDKs Es dauert ungefähr eine Stunde, TTL auf allen Partitionen zu aktivieren.
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 Einschalten aus, um TTL zu aktivieren.
-
Wenn Sie TTL für eine Tabelle aktivieren, müssen Sie bei DynamoDB einen bestimmten Attributnamen angeben, nach dem der Service sucht, wenn bestimmt wird, ob der Ablauf eines Elements veranlasst werden soll. Beim Namen des TTL-Attributs (siehe unten) 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 TTL deaktivieren und es dann in Zukunft mit dem neuen Attribut wieder aktivieren. TTL verarbeitet Löschungen etwa 30 Minuten lang weiter, sobald es deaktiviert ist. TTL muss 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 Beispielliste mit Elementen und es wird bestätigt, dass es Elemente gibt, die den TTL-Attributnamen zusammen mit der Ablaufzeit enthalten.
Nachdem TTL aktiviert wurde, wird das TTL-Attribut als TTL gekennzeichnet, wenn 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 TTL in der
TTLExample
-Tabelle.aws dynamodb update-time-to-live --table-name TTLExample --time-to-live-specification "Enabled=true, AttributeName=ttl"
-
Beschreiben Sie TTL in der
TTLExample
-Tabelle.aws dynamodb describe-time-to-live --table-name TTLExample { "TimeToLiveDescription": { "AttributeName": "ttl", "TimeToLiveStatus": "ENABLED" } }
-
Fügen Sie der
TTLExample
-Tabelle mit dem Time-to-Live-Attributsatz ein Element mit der BASH-Shell und AWS CLI hinzu: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 von TTL in Ihren AWS CloudFormation Vorlagen finden Sie hier.