

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Criar uma tabela com as configurações de vida útil (TTL) padrão
<a name="TTL-how-to-create-table"></a>

No Amazon Keyspaces, você pode definir um valor de TTL padrão para todas as linhas em uma tabela quando a tabela é criada. 

O valor de TTL padrão para uma tabela é zero, o que significa que os dados não expiram automaticamente. Se o valor de TTL padrão de uma tabela for maior que zero, registros de data e hora de expiração serão adicionados a cada linha.

Os valores de TTL são definidos em segundos e o valor máximo configurável é 630.720.000 segundos, o que equivale a 20 anos. 

Após a criação da tabela, você pode substituir a configuração de TTL padrão da tabela para linhas ou colunas específicas com instruções de DML CQL. Para obter mais informações, consulte [Usar a instrução `INSERT` para definir valores de tempo de vida (TTL) personalizados para novas linhas](TTL-how-to-insert-cql.md) e [Usar a instrução `UPDATE` para editar as configurações de vida útil (TTL) personalizadas para linhas e colunas](TTL-how-to-update-cql.md).

Quando você habilita a TTL em uma tabela, o Amazon Keyspaces começa a armazenar metadados adicionais relacionados à TTL para cada linha. Além disso, a TTL usa registros de data e hora de expiração para rastrear quando as linhas ou colunas expiram. Os registros de data e hora são armazenados como metadados da linha e contribuem para o custo de armazenamento da linha. 

 Depois que o atributo TTL estiver habilitado, você não poderá desabilitá-lo para uma tabela. Definir o `default_time_to_live` da tabela como 0 desabilita os prazos de expiração padrão para novos dados, mas não desabilita o atributo TTL nem reverte a tabela para os metadados de armazenamento ou comportamento de gravação originais do Amazon Keyspaces. 

Os exemplos a seguir mostram como criar uma tabela com um valor de TTL padrão.

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

**Crie uma tabela com um valor de vida útil padrão usando o console.**

1. [Faça login no Console de gerenciamento da AWS e abra o console do Amazon Keyspaces em casahttps://console.aws.amazon.com/keyspaces/.](https://console.aws.amazon.com/keyspaces/home)

1. No painel de navegação, selecione **Tabelas** e **Criar tabela**.

1. Na página **Criar tabela**, na seção **Detalhes da tabela**, selecione um espaço de chaves e forneça um nome para a nova tabela.

1. Na seção **Esquema**, crie o esquema para sua tabela.

1. Na seção **Configurações da tabela**, selecione **Personalizar configurações**.

1. Continue para **vida útil (TTL)**.

   Nesta etapa, você seleciona as configurações de TTL padrão para a tabela. 

   Para o **Período de TTL padrão**, insira o tempo de expiração e escolha a unidade de tempo inserida, por exemplo, segundos, dias ou anos. O Amazon Keyspaces armazenará o valor em segundos.

1. Escolha **Criar tabela**. Sua tabela é criada com o valor de TTL padrão especificado.

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

**Criar uma tabela com um valor de TTL padrão usando CQL**

1. A instrução a seguir cria uma tabela com o valor de TTL padrão definido para 3.024.000 segundos, o que representa 35 dias.

   ```
   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. Para confirmar as configurações de TTL para a nova tabela, use a instrução `cqlsh` `DESCRIBE` conforme mostrado no exemplo a seguir. A saída mostra a configuração de TTL padrão para a tabela como `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 ]

**Crie uma nova tabela com um valor TTL padrão usando o AWS CLI**

1. Você pode usar o seguinte comando para criar uma tabela com o valor de TTL padrão definido para um ano.

   ```
   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. Para confirmar o status da TTL da tabela, você pode usar o seguinte comando.

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

   A saída do comando é semelhante ao exemplo a seguir

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

------