InvalidRestoreTimeException
TL;DR — El RestoreDateTime que pediste está fuera de la ventana de recuperación a un momento dado (point-in-time recovery) de esta tabla. PITR te permite restaurar a cualquier segundo dentro del periodo de recuperación (configurable entre 1 y 35 días, como mucho los últimos 35 días) — pero la ventana tampoco puede empezar antes de que PITR se activara. Lee la ventana real de la tabla con DescribeContinuousBackups y elige una hora dentro de ella, o pasa UseLatestRestorableTime para "lo más reciente posible".
Qué significa
InvalidRestoreTimeException: An invalid restore time was specified.
RestoreDateTime must be between EarliestRestorableDateTime and
LatestRestorableDateTime.Cada tabla con PITR habilitado lleva una ventana móvil acotada por EarliestRestorableDateTime (hasta el periodo de recuperación hacia atrás, pero nunca antes de que PITR se activara) y LatestRestorableDateTime (normalmente unos 5 minutos antes de la hora actual). Una solicitud de restauración fuera de esos límites — demasiado antigua, o demasiado cercana a ahora — falla con esta excepción.
Por qué ocurre
- La hora es más antigua que el periodo de recuperación — el incidente del que te estás recuperando ocurrió antes de la ventana (35 días como máximo, menos si se configura un periodo más corto).
- PITR se habilitó recientemente — la ventana empieza en el momento de habilitación; no puedes restaurar a antes de ese momento ni siquiera dentro de los 35 días.
- La hora es demasiado reciente —
LatestRestorableDateTimeva por detrás de la hora real ~5 minutos; "restaurar a hace 30 segundos" aún no está en la ventana. - Deslices de zona horaria/formato — una marca de tiempo en hora local enviada donde se esperaban segundos epoch en UTC cae fuera de la ventana sin que te des cuenta.
Cómo solucionarlo
Lee primero la ventana real:
aws dynamodb describe-continuous-backups --table-name orders # ...PointInTimeRecoveryDescription: # EarliestRestorableDateTime, LatestRestorableDateTimeElige un
RestoreDateTimedentro de ella (segundos epoch, UTC), o toma el estado más reciente disponible sin nombrar una hora:aws dynamodb restore-table-to-point-in-time \ --source-table-name orders --target-table-name orders-recovered \ --use-latest-restorable-time¿Necesitas datos más antiguos que la ventana? PITR no puede alcanzarlos — recurre a una copia de seguridad bajo demanda o a una exportación de tabla hecha en esa época, si existe.
Recuerda lo que una restauración no lleva — la nueva tabla obtiene los datos, los índices, la capacidad y la configuración de cifrado, pero debes volver a crear las políticas de auto scaling, las políticas de IAM, las alarmas de CloudWatch, las etiquetas, la configuración de streams, TTL y el propio PITR.
Una vez que aterrice la restauración, verifica los datos recuperados antes de conmutar el tráfico — la aplicación de escritorio DynoTable convierte comparar la tabla recuperada con lo esperado en una tarea de exploración, y la calculadora de precios de DynamoDB dimensiona el coste de capacidad de la nueva tabla.
Errores relacionados
- PointInTimeRecoveryUnavailableException — PITR no está habilitado en absoluto.
- Export requires PITR — el primo en tiempo de exportación de esta ventana.
- Table already exists — el nombre de destino ya está en uso.
- Aprende: Copias de seguridad y recuperación a un momento dado
Referencias
- RestoreTableToPointInTime — Amazon DynamoDB API Reference
- DescribeContinuousBackups — Amazon DynamoDB API Reference
- Enable point-in-time recovery in DynamoDB — Amazon DynamoDB Developer Guide
Verificado por última vez el 2026-07-13 contra la documentación oficial de AWS enlazada arriba.