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