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 recenteLatestRestorableDateTime è 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

  1. Leggi prima la finestra effettiva:

    aws dynamodb describe-continuous-backups --table-name orders
    # ...PointInTimeRecoveryDescription:
    #    EarliestRestorableDateTime, LatestRestorableDateTime
  2. Scegli un RestoreDateTime al 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-time
  3. Ti 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.

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

References

Ultima verifica 2026-07-13 rispetto alla documentazione ufficiale AWS collegata sopra.

Lavora con DynamoDB senza la Console

DynoTable è un client desktop veloce per DynamoDB — sfoglia le tabelle, esegui query in stile SQL e modifica gli Item localmente.