InvalidRestoreTimeException
In breve — Il RestoreDateTime che hai richiesto è al di fuori della finestra di point-in-time-recovery di questa tabella. Il PITR ti permette di ripristinare a qualsiasi secondo entro il periodo di recovery (configurabile tra 1 e 35 giorni, al massimo gli ultimi 35 giorni) — ma la finestra non può nemmeno iniziare prima che il PITR fosse abilitato. Leggi la finestra effettiva della tabella da DescribeContinuousBackups e scegli un orario al suo interno, oppure passa UseLatestRestorableTime per "il più recente possibile".
Cosa significa
InvalidRestoreTimeException: An invalid restore time was specified.
RestoreDateTime must be between EarliestRestorableDateTime and
LatestRestorableDateTime.Ogni tabella con PITR abilitato porta una finestra scorrevole delimitata da EarliestRestorableDateTime (fino al periodo di recovery all'indietro, ma mai prima che il PITR fosse attivato) e LatestRestorableDateTime (tipicamente circa 5 minuti prima dell'ora corrente). Una richiesta di ripristino al di fuori di quei limiti — troppo vecchia, o troppo vicina a ora — fallisce con questa eccezione.
Perché accade
- L'orario è più vecchio del periodo di recovery — l'incidente da cui stai recuperando è avvenuto prima della finestra (35 giorni al massimo, meno se è configurato un periodo più breve).
- Il PITR è stato abilitato di recente — la finestra inizia all'abilitazione; non puoi ripristinare a prima di quel momento nemmeno entro 35 giorni.
- L'orario è troppo recente —
LatestRestorableDateTimeè indietro rispetto al tempo reale di ~5 minuti; "ripristina a 30 secondi fa" non è ancora nella finestra. - Errori di timezone/formato — un timestamp in ora locale inviato dove erano attesi secondi epoch UTC finisce al di fuori della finestra senza che te ne accorga.
Come correggerlo
Leggi prima la finestra effettiva:
aws dynamodb describe-continuous-backups --table-name orders # ...PointInTimeRecoveryDescription: # EarliestRestorableDateTime, LatestRestorableDateTimeScegli un
RestoreDateTimeal suo interno (secondi epoch, UTC), oppure prendi lo stato più recente disponibile senza indicare un orario:aws dynamodb restore-table-to-point-in-time \ --source-table-name orders --target-table-name orders-recovered \ --use-latest-restorable-timeTi servono dati più vecchi della finestra? Il PITR non può raggiungerli — ripiega su un backup on-demand o un export di tabella preso in quell'epoca, se ne esiste uno.
Ricorda cosa un ripristino non porta con sé — la nuova tabella ottiene dati, indici, capacità e impostazioni di crittografia, ma devi ricreare le policy di auto scaling, le policy IAM, gli allarmi CloudWatch, i tag, le impostazioni degli stream, il TTL e il PITR stesso.
Dopo che il ripristino è andato a buon fine, verifica i dati recuperati prima di spostare il traffico — l'app desktop DynoTable rende il confronto della tabella recuperata rispetto alle aspettative un'attività di navigazione, e il calcolatore dei prezzi DynamoDB dimensiona il costo di capacità della nuova tabella.
Errori correlati
- PointInTimeRecoveryUnavailableException — il PITR non è affatto abilitato.
- Export requires PITR — il cugino di questa finestra al momento dell'export.
- Table already exists — il nome di destinazione è già occupato.
- Impara: Backups & point-in-time recovery
References
- RestoreTableToPointInTime — Amazon DynamoDB API Reference
- DescribeContinuousBackups — Amazon DynamoDB API Reference
- Enable point-in-time recovery in DynamoDB — Amazon DynamoDB Developer Guide
Ultima verifica 2026-07-13 rispetto alla documentazione ufficiale AWS collegata sopra.