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 aktuellLatestRestorableDateTime hinkt 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

  1. Lies zuerst das tatsächliche Fenster:

    aws dynamodb describe-continuous-backups --table-name orders
    # ...PointInTimeRecoveryDescription:
    #    EarliestRestorableDateTime, LatestRestorableDateTime
  2. Wähle eine RestoreDateTime darin (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-time
  3. Brauchst 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.

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

References

Zuletzt verifiziert am 2026-07-13 gegen die oben verlinkte offizielle AWS-Dokumentation.

Mit DynamoDB ohne die Console arbeiten

DynoTable ist ein schneller Desktop-Client für DynamoDB — durchsuche Tabellen, führe SQL-artige Queries aus und bearbeite Items lokal.