JP

13 de jan de 20211 min

Configurar TTL no DynamoDB

O TTL (Time to Live) é um mecanismo do DynamoDB que permite controlar a expiração dos items. Dessa forma você não precisa manter grande volume de dados que não serão usados e nem se dar o trabalho de exclui-los manualmente.

Como configurar

É bem simples a configuração deste mecanismo, segue o passo a passo:

1. O atributo do item deve ser do tipo Number, conforme a documentação da AWS.

Observe o campo expiredAt

Observe o campo expiredAt, o formato do valor dever ser do tipo Epoch.

O formato Epoch pode ser extraído de uma data, neste caso você pode preencher este campo utilizando LocalDateTime, segue o exemplo:

LocalDateTime localDateTime = LocalDateTime.of(2020, 02, 02, 12,02,00);
 

 
long expiredAt = localDateTime.plus(2, ChronoUnit.HOURS).toEpochSecond(ZoneOffset.UTC);
 

 
System.out.println("Valor final(Epoch): " + expiredAt)

No exemplo acima é uma soma de 2 horas á data de 02-02-2020 ás 12:02:00 que resultará em 02-02-2020 ás 14:02:00. Logo em formato Epoch o valor final será:

Valor final(Epoch): 1580652120

2. Levando em conta que a sua aplicação já está salvando os items no formato esperado, basta efetuar a última configuração.

Na aba Visão geral, na seção Detalhes da tabela selecione a opção Atributo tempo de vida - Gerenciar TTL

Ao clicar na opção uma pop-up será aberta e no campo Atributo TTL preencha o nome do atributo que fará o controle.

Pronto, basta clicar em continuar que a AWS vai provisionar a alteração para que o mecanismo comece a funcionar em breve.

Neste cenário do exemplo, o item mostrado será apagado na data de 02-02-2020 ás 14:02:00. Ou seja, caso precise utilizar algo assim, pense em utilizar a data atual + o tempo de vida do item que você deseja de acordo com o seu negócio.

    2