Introducción
Eliminar datos antiguos de dynamodb utilizando un atributo de fecha.
Observaciones
Mi caso de uso: eliminar datos antiguos de dynamodb usando un atributo de fecha.
Cosas importantes que debes saber:
- No puede consultar una tabla utilizando solo el atributo de clave de rango (fecha, por ejemplo).
- Solo puede consultar una tabla usando hash o hash + tecla de rango.
- No puede consultar una tabla usando una clave hash con operaciones '<' / '>', solo '='.
Soluciones posibles:
- Escanear toda la tabla - esto podría ser muy costoso
- Mi solución elegida: definir un índice con clave de rango para la fecha y con una clave de hash que sería bastante decente, como el día del año.
Finalmente eliminar por lotes el conjunto de resultados.
Notas: Construyendo la entidad estaba usando las anotaciones de dinamo amazon. Estaba usando DynamoDBQueryExpression para consultar, obteniendo la página de resultados con el objeto Class definido.
Dynamodb borrar datos a lo largo del tiempo Ejemplos relacionados