InvalidRestoreTimeException
TL;DR — Die RestoreDateTime, die du angefragt hast, liegt außerhalb des Point-in-Time-Recovery-Fensters dieser Tabelle. PITR erlaubt dir, auf jede Sekunde innerhalb des Recovery-Zeitraums wiederherzustellen (konfigurierbar zwischen 1 und 35 Tagen, höchstens die letzten 35 Tage) — aber das Fenster kann auch nicht vor der Aktivierung von PITR beginnen. Lies das tatsächliche Fenster der Tabelle aus DescribeContinuousBackups und wähle eine Zeit darin, oder übergib UseLatestRestorableTime für „so aktuell wie möglich".
Was es bedeutet
InvalidRestoreTimeException: An invalid restore time was specified.
RestoreDateTime must be between EarliestRestorableDateTime and
LatestRestorableDateTime.Jede PITR-aktivierte Tabelle trägt ein rollierendes Fenster, begrenzt durch EarliestRestorableDateTime (bis zum Recovery-Zeitraum zurück, aber nie vor der Aktivierung von PITR) und LatestRestorableDateTime (typischerweise etwa 5 Minuten vor der aktuellen Zeit). Eine Wiederherstellungsanfrage außerhalb dieser Grenzen — zu alt oder zu nah an jetzt — schlägt mit dieser Exception fehl.
Warum es passiert
- Die Zeit ist älter als der Recovery-Zeitraum — der Vorfall, von dem du dich erholst, ist vor dem Fenster passiert (höchstens 35 Tage, weniger, wenn ein kürzerer Zeitraum konfiguriert ist).
- PITR wurde kürzlich aktiviert — das Fenster beginnt bei der Aktivierung; du kannst nicht auf einen Zeitpunkt davor wiederherstellen, selbst innerhalb von 35 Tagen.
- Die Zeit ist zu aktuell —
LatestRestorableDateTimehinkt der Echtzeit um ~5 Minuten hinterher; „wiederherstellen auf vor 30 Sekunden" ist noch nicht im Fenster. - Zeitzonen-/Format-Verrutscher — ein Zeitstempel in Lokalzeit, gesendet, wo UTC-Epoch-Sekunden gemeint waren, landet unbemerkt außerhalb des Fensters.
So behebst du es
Lies zuerst das tatsächliche Fenster:
aws dynamodb describe-continuous-backups --table-name orders # ...PointInTimeRecoveryDescription: # EarliestRestorableDateTime, LatestRestorableDateTimeWähle eine
RestoreDateTimedarin (Epoch-Sekunden, UTC), oder nimm den neuesten verfügbaren Zustand, ohne eine Zeit zu nennen:aws dynamodb restore-table-to-point-in-time \ --source-table-name orders --target-table-name orders-recovered \ --use-latest-restorable-timeBrauchst du Daten, die älter als das Fenster sind? PITR kann sie nicht erreichen — greife auf ein On-Demand-Backup oder einen Tabellen-Export zurück, der in jener Ära erstellt wurde, falls einer existiert.
Denke daran, was eine Wiederherstellung nicht mitnimmt — die neue Tabelle bekommt Daten, Indizes, Kapazität und Verschlüsselungseinstellungen, aber du musst Auto-Scaling-Richtlinien, IAM-Richtlinien, CloudWatch-Alarme, Tags, Stream-Einstellungen, TTL und PITR selbst neu erstellen.
Nachdem die Wiederherstellung gelandet ist, verifiziere die wiederhergestellten Daten, bevor du den Traffic umschaltest — die DynoTable Desktop-App macht das Diffen der wiederhergestellten Tabelle gegen die Erwartungen zu einer Browsing-Aufgabe, und der DynamoDB Pricing-Rechner dimensioniert die Kapazitätskosten der neuen Tabelle.
Verwandte Fehler
- PointInTimeRecoveryUnavailableException — PITR ist gar nicht aktiviert.
- Export requires PITR — der Export-Zeit-Vetter dieses Fensters.
- Table already exists — der Zielname ist vergeben.
- Learn: 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
Zuletzt verifiziert am 2026-07-13 gegen die oben verlinkte offizielle AWS-Dokumentation.