Como usar o Time to Live (TTL) para expirar dados - Amazon Keyspaces (para Apache Cassandra)

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

Como usar o Time to Live (TTL) para expirar dados

É possível usar o console do Amazon Keyspaces (para Apache Cassandra) ou o CQL para habilitar, atualizar e desabilitar as configurações de vida útil.

Para criar uma nova tabela com as configurações de vida útil (TTL) padrão habilitadas (console)

Siga estas etapas para criar uma nova tabela com as configurações de vida útil habilitadas usando o console do Amazon Keyspaces.

  1. Faça login no AWS Management Console e abra o console do Amazon Keyspaces em https://console.aws.amazon.com/keyspaces/home.

  2. No painel de navegação, selecione Tables (Tabelas) e Create table (Criar tabela).

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

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

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

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

  7. Escolha Create table. Sua tabela é criada com o valor de TTL padrão especificado.

nota

Você pode substituir a configuração de TTL padrão da tabela para linhas ou colunas específicas usando a linguagem de manipulação de dados (DML) no editor CQL.

Para atualizar as configurações de vida útil (TTL) padrão em tabelas existentes (console)

Siga estas etapas para atualizar as configurações de vida útil para tabelas existentes usando o console do Amazon Keyspaces.

  1. Faça login no AWS Management Console e abra o console do Amazon Keyspaces em https://console.aws.amazon.com/keyspaces/home.

  2. Escolha a tabela que deseja atualizar e selecione a guia Configurações adicionais.

  3. Continue até Vida útil (TTL) e selecione Editar.

  4. 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. Isso não altera o valor de TTL das linhas existentes.

  5. Quando as configurações de TTL estiverem definidas, selecione Salvar alterações.

Para desabilitar as configurações de vida útil (TTL) padrão em tabelas existentes (console)

Siga estas etapas para desabilitar as configurações de vida útil para tabelas existentes usando o AWS Management Console do Amazon Keyspaces.

  1. Faça login no AWS Management Console e abra o console do Amazon Keyspaces em https://console.aws.amazon.com/keyspaces/home.

  2. Escolha a tabela que deseja atualizar e selecione a guia Configurações adicionais.

  3. Continue até Vida útil (TTL) e selecione Editar.

  4. Selecione Período de TTL padrão e defina o valor como zero. Isso desabilita a TTL para a tabela por padrão para dados futuros. Isso não altera o valor de TTL para as linhas existentes.

  5. Quando as configurações de TTL estiverem definidas, selecione Salvar alterações.

Para criar uma nova tabela com as configurações de vida útil (TTL) padrão habilitadas usando CQL

Habilite a TTL ao criar uma nova tabela com o valor de TTL padrão definido como 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;

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.

describe my_table;

Para usar ALTER TABLE para editar as configurações de tempo de vida (TTL) padrão usando CQL

Atualize as configurações de TTL da tabela existente para 2.592.000 segundos, o que representa 30 dias.

ALTER TABLE my_table WITH default_time_to_live = 2592000;

Para confirmar as configurações de TTL para a tabela atualizada, 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.

describe my_table;

Como habilitar a vida útil (TTL) em novas tabelas usando propriedades personalizadas

Para habilitar as configurações de Vida útil personalizadas que podem ser aplicadas a linhas e colunas sem ativar as configurações padrão de TTL para toda a tabela, você pode usar a seguinte instrução CQL.

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

Depois de habilitado o ttl, você não poderá desabilitá-lo para a tabela.

Como habilitar a vida útil (TTL) em tabelas existentes usando propriedades personalizadas

Para habilitar as configurações de Vida útil personalizadas que podem ser aplicadas a linhas e colunas sem ativar as configurações padrão de TTL para toda a tabela, você pode usar a seguinte instrução CQL.

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

Depois de habilitado o ttl, você não poderá desabilitá-lo para a tabela.

Para usar INSERT para editar as configurações de tempo de vida (TTL) personalizadas usando CQL

A instrução CQL a seguir insere uma linha de dados na tabela e altera a configuração de TTL padrão para 259.200 segundos (o que equivale a 3 dias).

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;

Para confirmar as configurações de TTL para a linha inserida, use a instrução a seguir.

SELECT TTL (subject) from my_table;

Para usar UPDATE para editar as configurações de tempo de vida (TTL) personalizadas usando CQL

Para alterar as configurações de TTL da coluna “assunto” inserida anteriormente de 259.200 segundos (3 dias) para 86.400 segundos (um dia), use a seguinte instrução.

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

Você pode executar uma consulta de seleção simples para ver o registro atualizado antes do prazo de expiração.

SELECT * from my_table;

A consulta mostra o a saída a seguir.

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

Para confirmar que a expiração foi bem-sucedida, execute a mesma consulta novamente após o tempo de expiração configurado.

SELECT * from my_table;

A consulta mostra a seguinte saída após a expiração da coluna “assunto”.

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