

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à.

# Fai scadere i dati con Time to Live (TTL) per Amazon Keyspaces (per Apache Cassandra)
<a name="TTL"></a>

Amazon Keyspaces (per Apache Cassandra) Time to Live (TTL) ti aiuta a semplificare la logica delle applicazioni e ottimizzare il prezzo dello storage facendo scadere automaticamente i dati dalle tabelle. I dati che non ti servono più vengono eliminati automaticamente dalla tabella in base al valore Time to Live che hai impostato. 

Ciò semplifica la conformità alle politiche di conservazione dei dati basate su requisiti aziendali, di settore o normativi che definiscono per quanto tempo devono essere conservati i dati o specificano quando i dati devono essere eliminati. 

Ad esempio, puoi utilizzare il TTL in un' AdTech applicazione per pianificare quando i dati di annunci specifici scadono e non sono più visibili ai clienti. Puoi anche utilizzare TTL per ritirare automaticamente i dati più vecchi e risparmiare sui costi di archiviazione. 

È possibile impostare un valore TTL predefinito per l'intera tabella e sovrascrivere tale valore per singole righe e colonne. Le operazioni TTL non influiscono sulle prestazioni dell'applicazione. Inoltre, il numero di righe e colonne contrassegnate per scadere con TTL non influisce sulla disponibilità della tabella.

Amazon Keyspaces filtra automaticamente i dati scaduti in modo che i dati scaduti non vengano restituiti nei risultati delle query o non siano disponibili per l'uso nelle istruzioni DML (Data Manipulation Language). Amazon Keyspaces in genere elimina i dati scaduti dallo storage entro 10 giorni dalla data di scadenza. 

In rari casi, Amazon Keyspaces potrebbe non essere in grado di eliminare i dati entro 10 giorni se c'è un'attività sostenuta sulla partizione di storage sottostante per proteggere la disponibilità. In questi casi, Amazon Keyspaces continua a tentare di eliminare i dati scaduti una volta che il traffico sulla partizione diminuisce. 

Una volta eliminati definitivamente i dati dallo storage, smetti di incorrere in costi di archiviazione. 

È possibile impostare, modificare o disabilitare le impostazioni TTL predefinite per tabelle nuove ed esistenti utilizzando la console, Cassandra Query Language (CQL) o. AWS CLI

Nelle tabelle con TTL predefinito configurato, è possibile utilizzare le istruzioni CQL per sovrascrivere le impostazioni TTL predefinite della tabella e applicare valori TTL personalizzati a righe e colonne. Per ulteriori informazioni, consultare [Utilizzate l'`INSERT`istruzione per impostare valori Time to Live (TTL) personalizzati per le nuove righe](TTL-how-to-insert-cql.md) e [Utilizzate l'`UPDATE`istruzione per modificare le impostazioni Time to Live (TTL) personalizzate per righe e colonne](TTL-how-to-update-cql.md).

I prezzi TTL si basano sulla dimensione delle righe che vengono eliminate o aggiornate utilizzando Time to Live. Le operazioni TTL vengono misurate in unità di. `TTL deletes` Viene utilizzata un'eliminazione TTL per KB di dati per riga eliminata o aggiornata. 

Ad esempio, per aggiornare una riga che memorizza 2,5 KB di dati ed eliminare contemporaneamente una o più colonne all'interno della riga sono necessarie tre eliminazioni TTL. In alternativa, per eliminare un'intera riga che contiene 3,5 KB di dati sono necessarie quattro eliminazioni TTL. 

Viene utilizzata un'eliminazione TTL per KB di dati eliminati per riga. Per ulteriori informazioni sui prezzi, consulta i prezzi di [Amazon Keyspaces (per Apache Cassandra](https://aws.amazon.com/keyspaces/pricing)).

**Topics**
+ [

## Amazon Keyspaces Time to Live e integrazione con i servizi AWS
](#ttl-howitworks_integration)
+ [

# Crea una nuova tabella con le impostazioni Time to Live (TTL) predefinite
](TTL-how-to-create-table.md)
+ [

# Aggiorna il valore Time to Live (TTL) predefinito di una tabella
](TTL-how-to-update-default.md)
+ [

# Crea una tabella con le impostazioni Time to Live (TTL) personalizzate abilitate
](TTL-how-to-enable-custom-new.md)
+ [

# Aggiorna la tabella con Time to Live (TTL) personalizzato
](TTL-how-to-enable-custom-alter.md)
+ [

# Utilizzate l'`INSERT`istruzione per impostare valori Time to Live (TTL) personalizzati per le nuove righe
](TTL-how-to-insert-cql.md)
+ [

# Utilizzate l'`UPDATE`istruzione per modificare le impostazioni Time to Live (TTL) personalizzate per righe e colonne
](TTL-how-to-update-cql.md)

## Amazon Keyspaces Time to Live e integrazione con i servizi AWS
<a name="ttl-howitworks_integration"></a>

La seguente metrica TTL è disponibile in Amazon CloudWatch per consentire il monitoraggio continuo.
+ `TTLDeletes`— Le unità utilizzate per eliminare o aggiornare i dati di seguito utilizzando Time to Live (TTL).

Per ulteriori informazioni su come monitorare le CloudWatch metriche, consulta. [Monitoraggio di Amazon Keyspaces con Amazon CloudWatch](monitoring-cloudwatch.md)

Quando lo usi CloudFormation, puoi attivare il TTL durante la creazione di una tabella Amazon Keyspaces. Per ulteriori informazioni, consulta la [Guida per l'utente AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html). 

# Crea una nuova tabella con le impostazioni Time to Live (TTL) predefinite
<a name="TTL-how-to-create-table"></a>

In Amazon Keyspaces, puoi impostare un valore TTL predefinito per tutte le righe di una tabella al momento della creazione della tabella. 

Il valore TTL predefinito per una tabella è zero, il che significa che i dati non scadono automaticamente. Se il valore TTL predefinito per una tabella è maggiore di zero, viene aggiunto un timestamp di scadenza a ogni riga.

I valori TTL sono impostati in secondi e il valore massimo configurabile è 630.720.000 secondi, che equivale a 20 anni. 

Dopo la creazione della tabella, è possibile sovrascrivere l'impostazione TTL predefinita della tabella per righe o colonne specifiche con istruzioni CQL DML. Per ulteriori informazioni, consultare [Utilizzate l'`INSERT`istruzione per impostare valori Time to Live (TTL) personalizzati per le nuove righe](TTL-how-to-insert-cql.md) e [Utilizzate l'`UPDATE`istruzione per modificare le impostazioni Time to Live (TTL) personalizzate per righe e colonne](TTL-how-to-update-cql.md).

Quando abiliti il TTL su una tabella, Amazon Keyspaces inizia a memorizzare metadati aggiuntivi relativi a TTL per ogni riga. Inoltre, TTL utilizza i timestamp di scadenza per tenere traccia della scadenza di righe o colonne. I timestamp vengono archiviati come metadati di riga e contribuiscono al costo di archiviazione della riga. 

 Dopo aver abilitato la funzionalità TTL, non è possibile disabilitarla per una tabella. L'impostazione della tabella `default_time_to_live` su 0 disabilita i tempi di scadenza predefiniti per i nuovi dati, ma non disattiva la funzionalità TTL né ripristina la tabella ai metadati di archiviazione o al comportamento di scrittura originali di Amazon Keyspaces. 

Gli esempi seguenti mostrano come creare una nuova tabella con un valore TTL predefinito.

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

**Crea una nuova tabella con un valore predefinito Time to Live utilizzando la console.**

1. [Accedi a e apri Console di gestione AWS la console Amazon Keyspaces a casahttps://console.aws.amazon.com/keyspaces/.](https://console.aws.amazon.com/keyspaces/home)

1. Nel pannello di navigazione, scegli **Tabelle**, quindi seleziona **Crea tabella**.

1. **Nella pagina Crea tabella**, nella sezione **Dettagli della tabella**, seleziona un keyspace e fornisci un nome per la nuova tabella.

1. Nella sezione **Schema**, crea lo schema per la tua tabella.

1. Nella sezione **Impostazioni tabella**, scegli **Personalizza impostazioni**.

1. Continua su **Time to Live (TTL).**

   In questo passaggio, si selezionano le impostazioni TTL predefinite per la tabella. 

   Per il **periodo TTL predefinito**, inserisci l'ora di scadenza e scegli l'unità di tempo che hai inserito, ad esempio secondi, giorni o anni. Amazon Keyspaces memorizzerà il valore in pochi secondi.

1. Scegliere **Create table (Crea tabella)**. La tabella viene creata con il valore TTL predefinito specificato.

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

**Crea una nuova tabella con un valore TTL predefinito utilizzando CQL**

1. L'istruzione seguente crea una nuova tabella con il valore TTL predefinito impostato su 3.024.000 secondi, che rappresenta 35 giorni.

   ```
   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. Per confermare le impostazioni TTL per la nuova tabella, utilizzate l'`cqlsh``DESCRIBE`istruzione come illustrato nell'esempio seguente. L'output mostra l'impostazione TTL predefinita per la tabella come. `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 ]

**Creare una nuova tabella con un valore TTL predefinito utilizzando il AWS CLI**

1. È possibile utilizzare il comando seguente per creare una nuova tabella con il valore TTL predefinito impostato su un anno.

   ```
   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. Per confermare lo stato TTL della tabella, è possibile utilizzare il seguente comando.

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

   L'output del comando è simile a quello dell'esempio seguente

   ```
   {
       "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": []
   }
   ```

------

# Aggiorna il valore Time to Live (TTL) predefinito di una tabella
<a name="TTL-how-to-update-default"></a>

È possibile aggiornare una tabella esistente con un nuovo valore TTL predefinito. I valori TTL sono impostati in secondi e il valore massimo configurabile è 630.720.000 secondi, che equivale a 20 anni.

Quando abiliti il TTL su una tabella, Amazon Keyspaces inizia a memorizzare metadati aggiuntivi relativi a TTL per ogni riga. Inoltre, TTL utilizza i timestamp di scadenza per tenere traccia della scadenza di righe o colonne. I timestamp vengono archiviati come metadati di riga e contribuiscono al costo di archiviazione della riga. 

Dopo aver abilitato il TTL per una tabella, è possibile sovrascrivere l'impostazione TTL predefinita della tabella per righe o colonne specifiche con istruzioni CQL DML. Per ulteriori informazioni, consultare [Utilizzate l'`INSERT`istruzione per impostare valori Time to Live (TTL) personalizzati per le nuove righe](TTL-how-to-insert-cql.md) e [Utilizzate l'`UPDATE`istruzione per modificare le impostazioni Time to Live (TTL) personalizzate per righe e colonne](TTL-how-to-update-cql.md).

 Dopo aver abilitato la funzionalità TTL, non è possibile disabilitarla per una tabella. L'impostazione della tabella `default_time_to_live` su 0 disabilita i tempi di scadenza predefiniti per i nuovi dati, ma non disattiva la funzionalità TTL né ripristina la tabella ai metadati di archiviazione o al comportamento di scrittura originali di Amazon Keyspaces. 

Segui questi passaggi per aggiornare le impostazioni Time to Live predefinite per le tabelle esistenti utilizzando la console, CQL o. AWS CLI

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

**Aggiorna il valore TTL predefinito di una tabella utilizzando la console**

1. [Accedi a e apri Console di gestione AWS la console Amazon Keyspaces a casahttps://console.aws.amazon.com/keyspaces/.](https://console.aws.amazon.com/keyspaces/home)

1. Scegli la tabella che desideri aggiornare, quindi scegli la scheda **Impostazioni aggiuntive**.

1. Continua su **Time to Live (TTL)** e scegli **Modifica**.

1. Per il **periodo TTL predefinito**, inserisci l'ora di scadenza e scegli l'unità di tempo, ad esempio secondi, giorni o anni. Amazon Keyspaces memorizzerà il valore in pochi secondi. Ciò non modifica il valore TTL delle righe esistenti. 

1. Una volta definite le impostazioni TTL, scegli **Salva** modifiche.

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

**Aggiorna il valore TTL predefinito di una tabella utilizzando CQL**

1. È possibile utilizzare `ALTER TABLE` per modificare le impostazioni Time to Live (TTL) predefinite di una tabella. Per aggiornare le impostazioni TTL predefinite della tabella a 2.592.000 secondi, che rappresentano 30 giorni, puoi utilizzare la seguente istruzione.

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

1. Per confermare le impostazioni TTL per la tabella aggiornata, utilizzate l'`cqlsh``DESCRIBE`istruzione come illustrato nell'esempio seguente. L'output mostra l'impostazione TTL predefinita per la tabella come. `default_time_to_live`

   ```
   DESC TABLE my_table;
   ```

   L'output dell'istruzione dovrebbe essere simile a quello di questo esempio.

   ```
   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 ]

**Aggiornate il valore TTL predefinito di una tabella utilizzando il AWS CLI**

1. È possibile utilizzare `update-table` una tabella per modificare il valore TTL predefinito. Per aggiornare le impostazioni TTL predefinite della tabella a 2.592.000 secondi, che rappresentano 30 giorni, puoi utilizzare la seguente istruzione.

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

1. Per confermare il valore TTL predefinito aggiornato, puoi utilizzare la seguente istruzione.

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

   L'output dell'istruzione dovrebbe essere simile a quello dell'esempio seguente.

   ```
   {
       "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": []
   }
   ```

------

# Crea una tabella con le impostazioni Time to Live (TTL) personalizzate abilitate
<a name="TTL-how-to-enable-custom-new"></a>

Per creare una nuova tabella con impostazioni personalizzate di Time to Live che possono essere applicate a righe e colonne senza abilitare le impostazioni TTL predefinite per l'intera tabella, puoi utilizzare i seguenti comandi.

**Nota**  
Se viene creata una tabella con le impostazioni `ttl` personalizzate abilitate, non è possibile disabilitare l'impostazione in un secondo momento.

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

**Crea una nuova tabella con impostazioni TTL personalizzate utilizzando CQL**
+ 

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

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

**Crea una nuova tabella con impostazioni TTL personalizzate utilizzando il AWS CLI**

1. È possibile utilizzare il seguente comando per creare una nuova tabella con TTL abilitato.

   ```
   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. Per confermare che il TTL è abilitato per la tabella, puoi usare la seguente istruzione.

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

   L'output dell'istruzione dovrebbe essere simile a quello dell'esempio seguente.

   ```
   {
       "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": []
   }
   ```

------

# Aggiorna la tabella con Time to Live (TTL) personalizzato
<a name="TTL-how-to-enable-custom-alter"></a>

Per abilitare le impostazioni personalizzate Time to Live per una tabella in modo che i valori TTL possano essere applicati a singole righe e colonne senza impostare un valore TTL predefinito per l'intera tabella, puoi utilizzare i seguenti comandi.

**Nota**  
Dopo `ttl` è abilitato, non è possibile disabilitarlo per la tabella.

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

**Abilita le impostazioni TTL personalizzate per una tabella utilizzando CQL**
+ 

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

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

**Abilita le impostazioni TTL personalizzate per una tabella utilizzando il AWS CLI**

1. È possibile utilizzare il comando seguente per aggiornare l'impostazione TTL personalizzata di una tabella.

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

1. Per confermare che il TTL è ora abilitato per la tabella, puoi usare la seguente istruzione.

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

   L'output dell'istruzione dovrebbe essere simile a quello dell'esempio seguente.

   ```
   {
       "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": []
   }
   ```

------

# Utilizzate l'`INSERT`istruzione per impostare valori Time to Live (TTL) personalizzati per le nuove righe
<a name="TTL-how-to-insert-cql"></a>

**Nota**  
Prima di poter impostare valori TTL personalizzati per le righe utilizzando l'`INSERT`istruzione, è necessario abilitare il TTL personalizzato nella tabella. Per ulteriori informazioni, consulta [Aggiorna la tabella con Time to Live (TTL) personalizzato](TTL-how-to-enable-custom-alter.md).

Per sovrascrivere il valore TTL predefinito di una tabella impostando le date di scadenza per le singole righe, puoi utilizzare l'istruzione: `INSERT`
+ `INSERT`— Inserisce una nuova riga di dati con un set di valori TTL.

L'impostazione dei valori TTL per le nuove righe utilizzando l'`INSERT`istruzione ha la precedenza sull'impostazione TTL predefinita della tabella. 

La seguente istruzione CQL inserisce una riga di dati nella tabella e modifica l'impostazione TTL predefinita su 259.200 secondi (che equivalgono a 3 giorni).

```
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;
```

Per confermare le impostazioni TTL per la riga inserita, utilizzare la seguente istruzione.

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

# Utilizzate l'`UPDATE`istruzione per modificare le impostazioni Time to Live (TTL) personalizzate per righe e colonne
<a name="TTL-how-to-update-cql"></a>

**Nota**  
Prima di poter impostare valori TTL personalizzati per righe e colonne, è necessario abilitare il TTL nella tabella. Per ulteriori informazioni, consulta [Aggiorna la tabella con Time to Live (TTL) personalizzato](TTL-how-to-enable-custom-alter.md).

Puoi utilizzare l'`UPDATE`istruzione per sovrascrivere il valore TTL predefinito di una tabella impostando la data di scadenza per singole righe e colonne:
+ Righe: puoi aggiornare una riga di dati esistente con un valore TTL personalizzato.
+ Colonne: puoi aggiornare un sottoinsieme di colonne all'interno delle righe esistenti con un valore TTL personalizzato.

L'impostazione dei valori TTL per righe e colonne ha la precedenza sull'impostazione TTL predefinita per la tabella. 

Per modificare le impostazioni TTL della colonna «oggetto» inserita in precedenza da 259.200 secondi (3 giorni) a 86.400 secondi (un giorno), utilizzare la seguente istruzione.

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

È possibile eseguire una semplice query di selezione per visualizzare il record aggiornato prima della scadenza.

```
SELECT * from my_table;
```

La query mostra il seguente risultato.

```
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
```

Per confermare che la scadenza è avvenuta correttamente, esegui nuovamente la stessa query dopo l'ora di scadenza configurata.

```
SELECT * from my_table;
```

La query mostra il seguente risultato dopo la scadenza della colonna «oggetto».

```
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
```