

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.

# Daten mit Time to Live (TTL) für Amazon Keyspaces (für Apache Cassandra) ablaufen lassen
<a name="TTL"></a>

Amazon Keyspaces (für Apache Cassandra) Time to Live (TTL) hilft Ihnen, Ihre Anwendungslogik zu vereinfachen und den Speicherpreis zu optimieren, indem Daten aus Tabellen automatisch ablaufen. Daten, die Sie nicht mehr benötigen, werden basierend auf dem von Ihnen festgelegten Time-to-Live-Wert automatisch aus Ihrer Tabelle gelöscht. 

Dies erleichtert die Einhaltung von Richtlinien zur Datenspeicherung, die auf Geschäfts-, Branchen- oder behördlichen Anforderungen basieren, die festlegen, wie lange Daten aufbewahrt werden müssen oder wann Daten gelöscht werden müssen. 

Sie können TTL beispielsweise in einer AdTech Anwendung verwenden, um zu planen, wann Daten für bestimmte Anzeigen ablaufen und für Kunden nicht mehr sichtbar sind. Sie können TTL auch verwenden, um ältere Daten automatisch zu löschen und so Speicherkosten zu sparen. 

Sie können einen Standard-TTL-Wert für die gesamte Tabelle festlegen und diesen Wert für einzelne Zeilen und Spalten überschreiben. TTL-Operationen wirken sich nicht auf die Leistung Ihrer Anwendung aus. Außerdem wirkt sich die Anzahl der Zeilen und Spalten, die mit TTL als ablaufend markiert sind, nicht auf die Verfügbarkeit Ihrer Tabelle aus.

Amazon Keyspaces filtert automatisch abgelaufene Daten heraus, sodass abgelaufene Daten nicht in Abfrageergebnissen zurückgegeben werden oder für die Verwendung in DML-Anweisungen (Data Manipulation Language) verfügbar sind. Amazon Keyspaces löscht abgelaufene Daten in der Regel innerhalb von 10 Tagen nach dem Ablaufdatum aus dem Speicher. 

In seltenen Fällen ist Amazon Keyspaces möglicherweise nicht in der Lage, Daten innerhalb von 10 Tagen zu löschen, wenn auf der zugrunde liegenden Speicherpartition anhaltende Aktivitäten stattfinden, um die Verfügbarkeit zu schützen. In diesen Fällen versucht Amazon Keyspaces weiterhin, die abgelaufenen Daten zu löschen, sobald der Verkehr auf der Partition abnimmt. 

Nachdem die Daten dauerhaft aus dem Speicher gelöscht wurden, fallen keine Speichergebühren mehr an. 

Sie können Standard-TTL-Einstellungen für neue und bestehende Tabellen mithilfe der Konsole, Cassandra Query Language (CQL) oder der festlegen, ändern oder deaktivieren. AWS CLI

Bei Tabellen mit konfigurierter TTL-Standardeinstellung können Sie CQL-Anweisungen verwenden, um die TTL-Standardeinstellungen der Tabelle zu überschreiben und benutzerdefinierte TTL-Werte auf Zeilen und Spalten anzuwenden. Weitere Informationen erhalten Sie unter [Verwenden Sie die `INSERT` Anweisung, um benutzerdefinierte TTL-Werte (Time to Live) für neue Zeilen festzulegen](TTL-how-to-insert-cql.md) und [Verwenden Sie die `UPDATE` Anweisung, um benutzerdefinierte TTL-Einstellungen (Time to Live) für Zeilen und Spalten zu bearbeiten](TTL-how-to-update-cql.md).

Die TTL-Preisgestaltung basiert auf der Größe der Zeilen, die mithilfe von Time to Live gelöscht oder aktualisiert werden. TTL-Operationen werden in Einheiten von gemessen. `TTL deletes` Pro KB Daten pro Zeile, die gelöscht oder aktualisiert wird, wird ein TTL-Löschvorgang verbraucht. 

Um beispielsweise eine Zeile zu aktualisieren, die 2,5 KB an Daten speichert, und um eine oder mehrere Spalten innerhalb der Zeile gleichzeitig zu löschen, sind drei TTL-Löschungen erforderlich. Oder um eine ganze Zeile zu löschen, die 3,5 KB an Daten enthält, sind vier TTL-Löschungen erforderlich. 

Pro KB gelöschter Daten pro Zeile wird ein TTL-Löschvorgang verbraucht. Weitere Informationen zu den Preisen finden Sie unter [Amazon Keyspaces (für Apache Cassandra)](https://aws.amazon.com/keyspaces/pricing) — Preise.

**Topics**
+ [

## Amazon Keyspaces Time to Live und Integration mit Services AWS
](#ttl-howitworks_integration)
+ [

# Erstellen Sie eine neue Tabelle mit den Standardeinstellungen für Time to Live (TTL)
](TTL-how-to-create-table.md)
+ [

# Aktualisieren Sie den Standardwert Time to Live (TTL) einer Tabelle
](TTL-how-to-update-default.md)
+ [

# Erstellen Sie eine Tabelle mit aktivierten benutzerdefinierten Time to Live (TTL) -Einstellungen
](TTL-how-to-enable-custom-new.md)
+ [

# Tabelle mit benutzerdefinierter Gültigkeitsdauer (TTL) aktualisieren
](TTL-how-to-enable-custom-alter.md)
+ [

# Verwenden Sie die `INSERT` Anweisung, um benutzerdefinierte TTL-Werte (Time to Live) für neue Zeilen festzulegen
](TTL-how-to-insert-cql.md)
+ [

# Verwenden Sie die `UPDATE` Anweisung, um benutzerdefinierte TTL-Einstellungen (Time to Live) für Zeilen und Spalten zu bearbeiten
](TTL-how-to-update-cql.md)

## Amazon Keyspaces Time to Live und Integration mit Services AWS
<a name="ttl-howitworks_integration"></a>

Die folgende TTL-Metrik ist in Amazon verfügbar CloudWatch , um eine kontinuierliche Überwachung zu ermöglichen.
+ `TTLDeletes`— Die Einheiten, die zum Löschen oder Aktualisieren von Daten nacheinander mithilfe von Time to Live (TTL) verbraucht wurden.

Weitere Informationen zur Überwachung von CloudWatch Metriken finden Sie unter[Überwachung von Amazon Keyspaces mit Amazon CloudWatch](monitoring-cloudwatch.md).

Wenn Sie verwenden CloudFormation, können Sie TTL aktivieren, wenn Sie eine Amazon Keyspaces-Tabelle erstellen. Weitere Informationen finden Sie im [AWS CloudFormation -Benutzerhandbuch](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html). 

# Erstellen Sie eine neue Tabelle mit den Standardeinstellungen für Time to Live (TTL)
<a name="TTL-how-to-create-table"></a>

In Amazon Keyspaces können Sie bei der Erstellung der Tabelle einen Standard-TTL-Wert für alle Zeilen in einer Tabelle festlegen. 

Der Standard-TTL-Wert für eine Tabelle ist Null, was bedeutet, dass Daten nicht automatisch ablaufen. Wenn der Standard-TTL-Wert für eine Tabelle größer als Null ist, wird jeder Zeile ein Ablaufzeitstempel hinzugefügt.

TTL-Werte werden in Sekunden angegeben, und der konfigurierbare Höchstwert beträgt 630.720.000 Sekunden, was 20 Jahren entspricht. 

Nach der Tabellenerstellung können Sie die Standard-TTL-Einstellung der Tabelle für bestimmte Zeilen oder Spalten mit CQL-DML-Anweisungen überschreiben. Weitere Informationen erhalten Sie unter [Verwenden Sie die `INSERT` Anweisung, um benutzerdefinierte TTL-Werte (Time to Live) für neue Zeilen festzulegen](TTL-how-to-insert-cql.md) und [Verwenden Sie die `UPDATE` Anweisung, um benutzerdefinierte TTL-Einstellungen (Time to Live) für Zeilen und Spalten zu bearbeiten](TTL-how-to-update-cql.md).

Wenn Sie TTL für eine Tabelle aktivieren, beginnt Amazon Keyspaces, zusätzliche TTL-bezogene Metadaten für jede Zeile zu speichern. Darüber hinaus verwendet TTL Ablaufzeitstempel, um nachzuverfolgen, wann Zeilen oder Spalten ablaufen. Die Zeitstempel werden als Zeilenmetadaten gespeichert und tragen zu den Speicherkosten für die Zeile bei. 

 Nachdem die TTL-Funktion aktiviert wurde, können Sie sie für eine Tabelle nicht mehr deaktivieren. Wenn Sie die Tabellen `default_time_to_live` auf 0 setzen, werden die Standardablaufzeiten für neue Daten deaktiviert, aber die TTL-Funktion wird dadurch nicht deaktiviert und die Tabelle wird nicht auf die ursprünglichen Amazon Keyspaces-Speichermetadaten oder das Schreibverhalten zurückgesetzt. 

Die folgenden Beispiele zeigen, wie eine neue Tabelle mit einem Standard-TTL-Wert erstellt wird.

------
#### [ Console ]

**Erstellen Sie mithilfe der Konsole eine neue Tabelle mit einem Time to Live-Standardwert.**

1. Melden Sie sich bei der AWS-Managementkonsole an und öffnen Sie die Amazon Keyspaces-Konsole zu [https://console.aws.amazon.com/keyspaces/Hause](https://console.aws.amazon.com/keyspaces/home).

1. Wählen Sie im Navigationsbereich **Tables** (Tabellen) und anschließend **Create table** (Tabelle erstellen) aus.

1. Wählen Sie auf der Seite **Tabelle erstellen** im Abschnitt **Tabellendetails** einen Schlüsselraum aus und geben Sie einen Namen für die neue Tabelle ein.

1. Erstellen Sie im Abschnitt **Schema** das Schema für Ihre Tabelle.

1. Wählen Sie im Abschnitt **Tabelleneinstellungen** die Option **Einstellungen anpassen** aus.

1. Fahren Sie mit **Time to Live (TTL)** fort.

   In diesem Schritt wählen Sie die Standard-TTL-Einstellungen für die Tabelle aus. 

   Geben Sie für den **Standard-TTL-Periode** die Ablaufzeit ein und wählen Sie die Zeiteinheit aus, die Sie eingegeben haben, zum Beispiel Sekunden, Tage oder Jahre. Amazon Keyspaces speichert den Wert in Sekunden.

1. Wählen Sie **Create table** (Tabelle erstellen) aus. Ihre Tabelle wird mit dem angegebenen Standard-TTL-Wert erstellt.

------
#### [ Cassandra Query Language (CQL) ]

**Erstellen Sie mithilfe von CQL eine neue Tabelle mit einem Standard-TTL-Wert**

1. Die folgende Anweisung erstellt eine neue Tabelle, wobei der TTL-Standardwert auf 3.024.000 Sekunden festgelegt ist, was 35 Tagen entspricht.

   ```
   CREATE TABLE my_table (
                   userid uuid,
                   time timeuuid,
                   subject text,
                   body text,
                   user inet,
                   PRIMARY KEY (userid, time)
                   ) WITH default_time_to_live = 3024000;
   ```

1. Verwenden Sie die `cqlsh` `DESCRIBE` Anweisung, um die TTL-Einstellungen für die neue Tabelle zu bestätigen, wie im folgenden Beispiel gezeigt. Die Ausgabe zeigt die Standard-TTL-Einstellung für die Tabelle als. `default_time_to_live`

   ```
   DESC TABLE my_table;
   ```

   ```
   CREATE TABLE my_keyspace.my_table (
       userid uuid,
       time timeuuid,
       body text,
       subject text,
       user inet,
       PRIMARY KEY (userid, time)
   ) WITH CLUSTERING ORDER BY (time ASC)
       AND bloom_filter_fp_chance = 0.01
       AND caching = {'class': 'com.amazonaws.cassandra.DefaultCaching'}
       AND comment = ''
       AND compaction = {'class': 'com.amazonaws.cassandra.DefaultCompaction'}
       AND compression = {'class': 'com.amazonaws.cassandra.DefaultCompression'}
       AND crc_check_chance = 1.0
       AND dclocal_read_repair_chance = 0.0
       AND default_time_to_live = 3024000
       AND gc_grace_seconds = 7776000
       AND max_index_interval = 2048
       AND memtable_flush_period_in_ms = 3600000
       AND min_index_interval = 128
       AND read_repair_chance = 0.0
       AND speculative_retry = '99PERCENTILE';
   ```

------
#### [ CLI ]

**Erstellen Sie eine neue Tabelle mit einem Standard-TTL-Wert mit dem AWS CLI**

1. Sie können den folgenden Befehl verwenden, um eine neue Tabelle zu erstellen, bei der der TTL-Standardwert auf ein Jahr festgelegt ist.

   ```
   aws keyspaces create-table --keyspace-name 'myKeyspace' --table-name 'myTable' \
               --schema-definition 'allColumns=[{name=id,type=int},{name=name,type=text},{name=date,type=timestamp}],partitionKeys=[{name=id}]' \
               --default-time-to-live '31536000'
   ```

1. Um den TTL-Status der Tabelle zu bestätigen, können Sie den folgenden Befehl verwenden.

   ```
   aws keyspaces get-table --keyspace-name 'myKeyspace' --table-name 'myTable'
   ```

   Die Ausgabe des Befehls sieht wie im folgenden Beispiel aus

   ```
   {
       "keyspaceName": "myKeyspace",
       "tableName": "myTable",
       "resourceArn": "arn:aws:cassandra:us-east-1:111122223333:/keyspace/myKeyspace/table/myTable",
       "creationTimestamp": "2024-09-02T10:52:22.190000+00:00",
       "status": "ACTIVE",
       "schemaDefinition": {
           "allColumns": [
               {
                   "name": "id",
                   "type": "int"
               },
               {
                   "name": "date",
                   "type": "timestamp"
               },
               {
                   "name": "name",
                   "type": "text"
               }
           ],
           "partitionKeys": [
               {
                   "name": "id"
               }
           ],
           "clusteringKeys": [],
           "staticColumns": []
       },
       "capacitySpecification": {
           "throughputMode": "PAY_PER_REQUEST",
           "lastUpdateToPayPerRequestTimestamp": "2024-09-02T10:52:22.190000+00:00"
       },
       "encryptionSpecification": {
           "type": "AWS_OWNED_KMS_KEY"
       },
       "pointInTimeRecovery": {
           "status": "DISABLED"
       },
       "ttl": {
           "status": "ENABLED"
       },
       "defaultTimeToLive": 31536000,
       "comment": {
           "message": ""
       },
       "replicaSpecifications": []
   }
   ```

------

# Aktualisieren Sie den Standardwert Time to Live (TTL) einer Tabelle
<a name="TTL-how-to-update-default"></a>

Sie können eine bestehende Tabelle mit einem neuen Standard-TTL-Wert aktualisieren. TTL-Werte werden in Sekunden festgelegt, und der konfigurierbare Höchstwert beträgt 630.720.000 Sekunden, was 20 Jahren entspricht.

Wenn Sie TTL für eine Tabelle aktivieren, beginnt Amazon Keyspaces, zusätzliche TTL-bezogene Metadaten für jede Zeile zu speichern. Darüber hinaus verwendet TTL Ablaufzeitstempel, um nachzuverfolgen, wann Zeilen oder Spalten ablaufen. Die Zeitstempel werden als Zeilenmetadaten gespeichert und tragen zu den Speicherkosten für die Zeile bei. 

Nachdem TTL für eine Tabelle aktiviert wurde, können Sie die Standard-TTL-Einstellung der Tabelle für bestimmte Zeilen oder Spalten mit CQL-DML-Anweisungen überschreiben. Weitere Informationen erhalten Sie unter [Verwenden Sie die `INSERT` Anweisung, um benutzerdefinierte TTL-Werte (Time to Live) für neue Zeilen festzulegen](TTL-how-to-insert-cql.md) und [Verwenden Sie die `UPDATE` Anweisung, um benutzerdefinierte TTL-Einstellungen (Time to Live) für Zeilen und Spalten zu bearbeiten](TTL-how-to-update-cql.md).

 Nachdem die TTL-Funktion aktiviert wurde, können Sie sie für eine Tabelle nicht mehr deaktivieren. Wenn Sie die Tabellen `default_time_to_live` auf 0 setzen, werden die Standardablaufzeiten für neue Daten deaktiviert, aber die TTL-Funktion wird dadurch nicht deaktiviert und die Tabelle wird nicht auf die ursprünglichen Amazon Keyspaces-Speichermetadaten oder das Schreibverhalten zurückgesetzt. 

Gehen Sie wie folgt vor, um die Standardeinstellungen für Time to Live für bestehende Tabellen mithilfe der Konsole, CQL oder der zu aktualisieren. AWS CLI

------
#### [ Console ]

**Aktualisieren Sie den TTL-Standardwert einer Tabelle mithilfe der Konsole**

1. Melden Sie sich bei der AWS-Managementkonsole an und öffnen Sie die Amazon Keyspaces-Konsole zu [https://console.aws.amazon.com/keyspaces/Hause](https://console.aws.amazon.com/keyspaces/home).

1. Wählen Sie die Tabelle aus, die Sie aktualisieren möchten, und wählen Sie dann den Tab **Zusätzliche Einstellungen**.

1. Gehen Sie weiter zu **Time to Live (TTL)** und wählen Sie **Bearbeiten**.

1. Geben Sie für den **Standard-TTL-Zeitraum** die Ablaufzeit ein und wählen Sie die Zeiteinheit aus, z. B. Sekunden, Tage oder Jahre. Amazon Keyspaces speichert den Wert in Sekunden. Der TTL-Wert vorhandener Zeilen wird dadurch nicht geändert. 

1. Wenn die TTL-Einstellungen definiert sind, wählen Sie Änderungen **speichern**.

------
#### [ Cassandra Query Language (CQL) ]

**Aktualisieren Sie den Standard-TTL-Wert einer Tabelle mithilfe von CQL**

1. Sie können `ALTER TABLE` es verwenden, um die Standardeinstellungen für Time to Live (TTL) einer Tabelle zu bearbeiten. Um die TTL-Standardeinstellungen der Tabelle auf 2.592.000 Sekunden zu aktualisieren, was 30 Tagen entspricht, können Sie die folgende Anweisung verwenden.

   ```
   ALTER TABLE my_table WITH default_time_to_live = 2592000;
   ```

1. Verwenden Sie die `cqlsh` `DESCRIBE` Anweisung, um die TTL-Einstellungen für die aktualisierte Tabelle zu bestätigen, wie im folgenden Beispiel gezeigt. Die Ausgabe zeigt die Standard-TTL-Einstellung für die Tabelle als. `default_time_to_live`

   ```
   DESC TABLE my_table;
   ```

   Die Ausgabe der Anweisung sollte diesem Beispiel ähneln.

   ```
   CREATE TABLE my_keyspace.my_table (
       id int PRIMARY KEY,
       date timestamp,
       name text
   ) WITH bloom_filter_fp_chance = 0.01
       AND caching = {'class': 'com.amazonaws.cassandra.DefaultCaching'}
       AND comment = ''
       AND compaction = {'class': 'com.amazonaws.cassandra.DefaultCompaction'}
       AND compression = {'class': 'com.amazonaws.cassandra.DefaultCompression'}
       AND crc_check_chance = 1.0
       AND dclocal_read_repair_chance = 0.0
       AND default_time_to_live = 2592000
       AND gc_grace_seconds = 7776000
       AND max_index_interval = 2048
       AND memtable_flush_period_in_ms = 3600000
       AND min_index_interval = 128
       AND read_repair_chance = 0.0
       AND speculative_retry = '99PERCENTILE';
   ```

------
#### [ CLI ]

**Aktualisieren Sie den Standard-TTL-Wert einer Tabelle mit dem AWS CLI**

1. Sie können verwenden`update-table`, um den Standard-TTL-Wert einer Tabelle zu bearbeiten. Um die TTL-Standardeinstellungen der Tabelle auf 2.592.000 Sekunden zu aktualisieren, was 30 Tagen entspricht, können Sie die folgende Anweisung verwenden.

   ```
   aws keyspaces update-table --keyspace-name 'myKeyspace' --table-name 'myTable' --default-time-to-live '2592000'
   ```

1. Um den aktualisierten TTL-Standardwert zu bestätigen, können Sie die folgende Anweisung verwenden.

   ```
   aws keyspaces get-table --keyspace-name 'myKeyspace' --table-name 'myTable'
   ```

   Die Ausgabe der Anweisung sollte wie im folgenden Beispiel aussehen.

   ```
   {
       "keyspaceName": "myKeyspace",
       "tableName": "myTable",
       "resourceArn": "arn:aws:cassandra:us-east-1:111122223333:/keyspace/myKeyspace/table/myTable",
       "creationTimestamp": "2024-09-02T10:52:22.190000+00:00",
       "status": "ACTIVE",
       "schemaDefinition": {
           "allColumns": [
               {
                   "name": "id",
                   "type": "int"
               },
               {
                   "name": "date",
                   "type": "timestamp"
               },
               {
                   "name": "name",
                   "type": "text"
               }
           ],
           "partitionKeys": [
               {
                   "name": "id"
               }
           ],
           "clusteringKeys": [],
           "staticColumns": []
       },
       "capacitySpecification": {
           "throughputMode": "PAY_PER_REQUEST",
           "lastUpdateToPayPerRequestTimestamp": "2024-09-02T10:52:22.190000+00:00"
       },
       "encryptionSpecification": {
           "type": "AWS_OWNED_KMS_KEY"
       },
       "pointInTimeRecovery": {
           "status": "DISABLED"
       },
       "ttl": {
           "status": "ENABLED"
       },
       "defaultTimeToLive": 2592000,
       "comment": {
           "message": ""
       },
       "replicaSpecifications": []
   }
   ```

------

# Erstellen Sie eine Tabelle mit aktivierten benutzerdefinierten Time to Live (TTL) -Einstellungen
<a name="TTL-how-to-enable-custom-new"></a>

Um eine neue Tabelle mit benutzerdefinierten Time to Live-Einstellungen zu erstellen, die auf Zeilen und Spalten angewendet werden können, ohne die TTL-Standardeinstellungen für die gesamte Tabelle zu aktivieren, können Sie die folgenden Befehle verwenden.

**Anmerkung**  
Wenn eine Tabelle mit aktivierten `ttl` benutzerdefinierten Einstellungen erstellt wird, können Sie die Einstellung später nicht mehr deaktivieren.

------
#### [ Cassandra Query Language (CQL) ]

**Erstellen Sie mithilfe von CQL eine neue Tabelle mit benutzerdefinierter TTL-Einstellung**
+ 

  ```
  CREATE TABLE my_keyspace.my_table (id int primary key) WITH CUSTOM_PROPERTIES={'ttl':{'status': 'enabled'}};
  ```

------
#### [ CLI ]

**Erstellen Sie eine neue Tabelle mit benutzerdefinierter TTL-Einstellung mithilfe der AWS CLI**

1. Sie können den folgenden Befehl verwenden, um eine neue Tabelle mit aktivierter TTL zu erstellen.

   ```
   aws keyspaces create-table --keyspace-name 'myKeyspace' --table-name 'myTable' \
                                   --schema-definition 'allColumns=[{name=id,type=int},{name=name,type=text}, {name=date,type=timestamp}],partitionKeys=[{name=id}]' \
                                   --ttl 'status=ENABLED'
   ```

1. Um zu bestätigen, dass TTL für die Tabelle aktiviert ist, können Sie die folgende Anweisung verwenden.

   ```
   aws keyspaces get-table --keyspace-name 'myKeyspace' --table-name 'myTable'
   ```

   Die Ausgabe der Anweisung sollte wie im folgenden Beispiel aussehen.

   ```
   {
       "keyspaceName": "myKeyspace",
       "tableName": "myTable",
       "resourceArn": "arn:aws:cassandra:us-east-1:111122223333:/keyspace/myKeyspace/table/myTable",
       "creationTimestamp": "2024-09-02T10:52:22.190000+00:00",
       "status": "ACTIVE",
       "schemaDefinition": {
           "allColumns": [
            {
                   "name": "id",
                   "type": "int"
               },
               {
                   "name": "date",
                   "type": "timestamp"
               },
               {
                   "name": "name",
                   "type": "text"
               }
           ],
           "partitionKeys": [
               {
                   "name": "id"
               }
           ],
           "clusteringKeys": [],
           "staticColumns": []
       },
       "capacitySpecification": {
           "throughputMode": "PAY_PER_REQUEST",
           "lastUpdateToPayPerRequestTimestamp": "2024-09-02T11:18:55.796000+00:00"
       },
       "encryptionSpecification": {
           "type": "AWS_OWNED_KMS_KEY"
       },
       "pointInTimeRecovery": {
           "status": "DISABLED"
       },
       "ttl": {
           "status": "ENABLED"
       },
       "defaultTimeToLive": 0,
       "comment": {
           "message": ""
       },
       "replicaSpecifications": []
   }
   ```

------

# Tabelle mit benutzerdefinierter Gültigkeitsdauer (TTL) aktualisieren
<a name="TTL-how-to-enable-custom-alter"></a>

Um die benutzerdefinierten Time to Live-Einstellungen für eine Tabelle zu aktivieren, sodass TTL-Werte auf einzelne Zeilen und Spalten angewendet werden können, ohne einen TTL-Standardwert für die gesamte Tabelle festzulegen, können Sie die folgenden Befehle verwenden.

**Anmerkung**  
After `ttl` ist aktiviert, Sie können es nicht für die Tabelle deaktivieren.

------
#### [ Cassandra Query Language (CQL) ]

**Aktivieren Sie benutzerdefinierte TTL-Einstellungen für eine Tabelle mithilfe von CQL**
+ 

  ```
  ALTER TABLE my_table WITH CUSTOM_PROPERTIES={'ttl':{'status': 'enabled'}};
  ```

------
#### [ CLI ]

**Aktivieren Sie benutzerdefinierte TTL-Einstellungen für eine Tabelle mit dem AWS CLI**

1. Sie können den folgenden Befehl verwenden, um die benutzerdefinierte TTL-Einstellung einer Tabelle zu aktualisieren.

   ```
   aws keyspaces update-table --keyspace-name 'myKeyspace' --table-name 'myTable' --ttl 'status=ENABLED'
   ```

1. Um zu bestätigen, dass TTL jetzt für die Tabelle aktiviert ist, können Sie die folgende Anweisung verwenden.

   ```
   aws keyspaces get-table --keyspace-name 'myKeyspace' --table-name 'myTable'
   ```

   Die Ausgabe der Anweisung sollte wie im folgenden Beispiel aussehen.

   ```
   {
       "keyspaceName": "myKeyspace",
       "tableName": "myTable",
       "resourceArn": "arn:aws:cassandra:us-east-1:111122223333:/keyspace/myKeyspace/table/myTable",
       "creationTimestamp": "2024-09-02T11:32:27.349000+00:00",
       "status": "ACTIVE",
       "schemaDefinition": {
           "allColumns": [
               {
                   "name": "id",
                   "type": "int"
               },
               {
                   "name": "date",
                   "type": "timestamp"
               },
               {
                   "name": "name",
                   "type": "text"
               }
           ],
           "partitionKeys": [
               {
                   "name": "id"
               }
           ],
           "clusteringKeys": [],
           "staticColumns": []
       },
       "capacitySpecification": {
           "throughputMode": "PAY_PER_REQUEST",
           "lastUpdateToPayPerRequestTimestamp": "2024-09-02T11:32:27.349000+00:00"
       },
       "encryptionSpecification": {
           "type": "AWS_OWNED_KMS_KEY"
       },
       "pointInTimeRecovery": {
           "status": "DISABLED"
       },
       "ttl": {
           "status": "ENABLED"
       },
       "defaultTimeToLive": 0,
       "comment": {
           "message": ""
       },
       "replicaSpecifications": []
   }
   ```

------

# Verwenden Sie die `INSERT` Anweisung, um benutzerdefinierte TTL-Werte (Time to Live) für neue Zeilen festzulegen
<a name="TTL-how-to-insert-cql"></a>

**Anmerkung**  
Bevor Sie mithilfe der `INSERT` Anweisung benutzerdefinierte TTL-Werte für Zeilen festlegen können, müssen Sie zunächst benutzerdefinierte TTL für die Tabelle aktivieren. Weitere Informationen finden Sie unter [Tabelle mit benutzerdefinierter Gültigkeitsdauer (TTL) aktualisieren](TTL-how-to-enable-custom-alter.md).

Um den Standard-TTL-Wert einer Tabelle zu überschreiben, indem Sie Ablaufdaten für einzelne Zeilen festlegen, können Sie die folgende Anweisung verwenden: `INSERT`
+ `INSERT`— Fügt eine neue Datenzeile mit einem TTL-Wertesatz ein.

Das Setzen von TTL-Werten für neue Zeilen mithilfe der `INSERT` Anweisung hat Vorrang vor der TTL-Standardeinstellung der Tabelle. 

Die folgende CQL-Anweisung fügt eine Datenzeile in die Tabelle ein und ändert die TTL-Standardeinstellung auf 259.200 Sekunden (entspricht 3 Tagen).

```
INSERT INTO my_table (userid, time, subject, body, user)
        VALUES (B79CB3BA-745E-5D9A-8903-4A02327A7E09, 96a29100-5e25-11ec-90d7-b5d91eceda0a, 'Message', 'Hello','205.212.123.123')
        USING TTL 259200;
```

Verwenden Sie die folgende Anweisung, um die TTL-Einstellungen für die eingefügte Zeile zu bestätigen.

```
SELECT TTL (subject) from my_table;
```

# Verwenden Sie die `UPDATE` Anweisung, um benutzerdefinierte TTL-Einstellungen (Time to Live) für Zeilen und Spalten zu bearbeiten
<a name="TTL-how-to-update-cql"></a>

**Anmerkung**  
Bevor Sie benutzerdefinierte TTL-Werte für Zeilen und Spalten festlegen können, müssen Sie TTL zunächst für die Tabelle aktivieren. Weitere Informationen finden Sie unter [Tabelle mit benutzerdefinierter Gültigkeitsdauer (TTL) aktualisieren](TTL-how-to-enable-custom-alter.md).

Sie können die `UPDATE` Anweisung verwenden, um den Standard-TTL-Wert einer Tabelle zu überschreiben, indem Sie das Ablaufdatum für einzelne Zeilen und Spalten festlegen:
+ Zeilen — Sie können eine bestehende Datenzeile mit einem benutzerdefinierten TTL-Wert aktualisieren.
+ Spalten — Sie können eine Teilmenge von Spalten in vorhandenen Zeilen mit einem benutzerdefinierten TTL-Wert aktualisieren.

Das Festlegen von TTL-Werten für Zeilen und Spalten hat Vorrang vor der Standard-TTL-Einstellung für die Tabelle. 

Verwenden Sie die folgende Anweisung, um die TTL-Einstellungen der zuvor eingefügten Spalte „Betreff“ von 259.200 Sekunden (3 Tage) auf 86.400 Sekunden (ein Tag) zu ändern.

```
UPDATE my_table USING TTL 86400 set subject = 'Updated Message' WHERE userid = B79CB3BA-745E-5D9A-8903-4A02327A7E09 and time = 96a29100-5e25-11ec-90d7-b5d91eceda0a;
```

Sie können eine einfache Auswahlabfrage ausführen, um den aktualisierten Datensatz vor Ablauf der Ablaufzeit zu sehen.

```
SELECT * from my_table;
```

Die Abfrage zeigt die folgende Ausgabe.

```
userid                               | time                                 | body  | subject         | user
--------------------------------------+--------------------------------------+-------+-----------------+-----------------
b79cb3ba-745e-5d9a-8903-4a02327a7e09  | 96a29100-5e25-11ec-90d7-b5d91eceda0a | Hello | Updated Message | 205.212.123.123
50554d6e-29bb-11e5-b345-feff819cdc9f  | cf03fb21-59b5-11ec-b371-dff626ab9620 | Hello |         Message | 205.212.123.123
```

Um zu überprüfen, ob der Ablauf erfolgreich war, führen Sie dieselbe Abfrage nach der konfigurierten Ablaufzeit erneut aus.

```
SELECT * from my_table;
```

Die Abfrage zeigt die folgende Ausgabe, nachdem die Spalte „Betreff“ abgelaufen ist.

```
userid                               | time                                 | body  | subject | user
--------------------------------------+--------------------------------------+-------+---------+-----------------
b79cb3ba-745e-5d9a-8903-4a02327a7e09  | 96a29100-5e25-11ec-90d7-b5d91eceda0a | Hello |    null | 205.212.123.123
50554d6e-29bb-11e5-b345-feff819cdc9f  | cf03fb21-59b5-11ec-b371-dff626ab9620 | Hello | Message | 205.212.123.123
```