BackupInUseException

TL;DR — Eine konfliktäre Backup-Control-Plane-Operation läuft noch auf dieser Tabelle: Das Backup wird gerade erstellt, gelöscht oder wiederhergestellt. Diese Operationen werden serialisiert — warte, bis die laufende fertig ist (prüfe BackupStatus via DescribeBackup), und wiederhole dann deine.

Was es bedeutet

BackupInUseException: There is another ongoing conflicting backup control
plane operation on the table. The backup is either being created, deleted
or restored to a table.

On-Demand-Backup-Operationen (CreateBackup, DeleteBackup, RestoreTableFromBackup) sind Control-Plane-Aufrufe, und DynamoDB weist solche ab, die mit einer bereits laufenden Operation gegen dasselbe Backup oder dieselbe Tabelle in Konflikt stünden. Es ist ein vorübergehender Zustandsfehler, kein Berechtigungs- oder Datenproblem.

Warum es passiert

  • Löschen eines Backups, das noch erstellt wird — das CreateBackup hat AVAILABLE noch nicht erreicht.
  • Löschen eines Backups, während eine Wiederherstellung daraus läuft — die Wiederherstellung hält das Backup, bis die neue Tabelle fertig erstellt ist.
  • Überlappende Automatisierung — ein Cleanup-Skript und ein Backup-Scheduler, die sich gegenseitig behindern, oder eine Retry-Schleife, die CreateBackup doppelt auf dieselbe Tabelle feuert.
  • Überschreiten des Rate-LimitsDeleteBackup akzeptiert höchstens 10 Aufrufe pro Sekunde; das Durchgehen vieler Backups in einer engen Schleife löst Konflikte und Throttling zugleich aus.

So behebst du es

  1. Prüfe, was in Bearbeitung ist, und warte dann:

    aws dynamodb describe-backup --backup-arn arn:aws:dynamodb:...:table/orders/backup/01234...
    # BackupStatus: CREATING | AVAILABLE | DELETED

    Wiederhole deine Operation, sobald sich der Status stabilisiert hat (AVAILABLE für ein abgeschlossenes Create; eine wiederherzustellende Tabelle erreicht ACTIVE via describe-table).

  2. Wiederhole mit Backoff, statt hart zu scheitern — Backup-Operationen dauern Sekunden bis Minuten; eine einfache Warten-und-Wiederholen-Schleife um den Aufruf fängt die Serialisierung ab.

  3. Serialisiere deine Automatisierung — ein Owner pro Tabelle für Backup-Lifecycle-Operationen; stelle Deletes hinter Creates in eine Warteschlange, statt beide auf einem Cron laufen zu lassen, der überlappen kann.

  4. Drossle Massen-Deletes — bleibe unter 10 DeleteBackup-Aufrufen/Sekunde und behandle diese Exception als Signal zum Verlangsamen.

Backups schützen die Daten, die du dir am wenigsten leisten kannst zu verlieren — durchsuche mit der DynoTable-Desktop-App, was tatsächlich in einer Tabelle steckt, bevor du ihre Backups beschneidest, und schätze den Read-Traffic der Wiederherstellung mit dem DynamoDB-Preisrechner.

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.