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
CreateBackuphatAVAILABLEnoch 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
CreateBackupdoppelt auf dieselbe Tabelle feuert. - Überschreiten des Rate-Limits —
DeleteBackupakzeptiert 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
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 | DELETEDWiederhole deine Operation, sobald sich der Status stabilisiert hat (
AVAILABLEfür ein abgeschlossenes Create; eine wiederherzustellende Tabelle erreichtACTIVEviadescribe-table).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.
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.
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
- BackupNotFoundException — der ARN löst überhaupt nicht auf ein Backup auf.
- Table already exists — Wiederherstellen auf einen bereits vergebenen Namen.
- LimitExceededException — zu viele gleichzeitige Control-Plane-Operationen.
- Learn: Backups & point-in-time recovery
References
- DeleteBackup — Amazon DynamoDB API Reference
- RestoreTableFromBackup — Amazon DynamoDB API Reference
- DescribeBackup — Amazon DynamoDB API Reference
- Restoring a DynamoDB table from a backup — Amazon DynamoDB Developer Guide
Zuletzt verifiziert am 2026-07-13 gegen die oben verlinkte offizielle AWS-Dokumentation.