InvalidRestoreTimeException
TL;DR — O RestoreDateTime que você pediu está fora da janela de point-in-time-recovery desta tabela. O PITR permite restaurar para qualquer segundo dentro do período de recuperação (configurável entre 1 e 35 dias, no máximo os últimos 35 dias) — mas a janela também não pode começar antes de o PITR ter sido habilitado. Leia a janela real da tabela em DescribeContinuousBackups e escolha um horário dentro dela, ou passe UseLatestRestorableTime para "o mais recente possível".
O que significa
InvalidRestoreTimeException: An invalid restore time was specified.
RestoreDateTime must be between EarliestRestorableDateTime and
LatestRestorableDateTime.Toda tabela com PITR habilitado carrega uma janela deslizante limitada por EarliestRestorableDateTime (até o período de recuperação atrás, mas nunca antes de o PITR ter sido ligado) e LatestRestorableDateTime (tipicamente cerca de 5 minutos antes do horário atual). Uma requisição de restauração fora desses limites — antiga demais, ou próxima demais de agora — falha com esta exceção.
Por que acontece
- O horário é mais antigo que o período de recuperação — o incidente do qual você está se recuperando aconteceu antes da janela (35 dias no máximo, menos se um período mais curto está configurado).
- O PITR foi habilitado recentemente — a janela começa na habilitação; você não pode restaurar para antes desse momento mesmo dentro de 35 dias.
- O horário é recente demais — o
LatestRestorableDateTimefica atrás do tempo real por ~5 minutos; "restaurar para 30 segundos atrás" ainda não está na janela. - Deslizes de fuso horário/formato — um timestamp de horário local enviado onde segundos epoch UTC eram pretendidos aterrissa fora da janela sem você notar.
Como corrigir
Leia a janela real primeiro:
aws dynamodb describe-continuous-backups --table-name orders # ...PointInTimeRecoveryDescription: # EarliestRestorableDateTime, LatestRestorableDateTimeEscolha um
RestoreDateTimedentro dela (segundos epoch, UTC), ou pegue o estado disponível mais novo sem nomear um horário:aws dynamodb restore-table-to-point-in-time \ --source-table-name orders --target-table-name orders-recovered \ --use-latest-restorable-timePrecisa de dados mais antigos que a janela? O PITR não consegue alcançá-los — recorra a um backup on-demand ou uma exportação de tabela feita naquela época, se houver.
Lembre-se do que uma restauração não carrega — a nova tabela recebe dados, índices, capacidade e configurações de criptografia, mas você precisa recriar políticas de auto scaling, políticas IAM, alarmes do CloudWatch, tags, configurações de stream, TTL e o próprio PITR.
Depois que a restauração aterrissa, verifique os dados recuperados antes de trocar o tráfego — o app desktop DynoTable torna comparar a tabela recuperada com as expectativas uma tarefa de navegação, e a calculadora de preços do DynamoDB dimensiona o custo de capacidade da nova tabela.
Erros relacionados
- PointInTimeRecoveryUnavailableException — o PITR não está habilitado de jeito nenhum.
- Export requires PITR — o primo de tempo-de-exportação desta janela.
- Table already exists — o nome de destino já está em uso.
- Aprenda: Backups & point-in-time recovery
Referências
- RestoreTableToPointInTime — Amazon DynamoDB API Reference
- DescribeContinuousBackups — Amazon DynamoDB API Reference
- Enable point-in-time recovery in DynamoDB — Amazon DynamoDB Developer Guide
Verificado pela última vez em 2026-07-13 contra a documentação oficial da AWS vinculada acima.