BackupInUseException
TL;DR — Uma operação de control-plane de backup conflitante ainda está em andamento nesta tabela: o backup está sendo criado, excluído ou restaurado neste momento. Essas operações são serializadas — espere a que está em andamento terminar (confira BackupStatus via DescribeBackup) e então tente a sua novamente.
O que significa
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.Operações de backup on-demand (CreateBackup, DeleteBackup, RestoreTableFromBackup) são chamadas de control-plane, e o DynamoDB rejeita aquelas que conflitariam com uma operação já em execução contra o mesmo backup ou tabela. É um erro de estado transitório, não um problema de permissões ou de dados.
Por que acontece
- Excluir um backup que ainda está sendo criado — o
CreateBackupainda não chegou aAVAILABLE. - Excluir um backup enquanto uma restauração a partir dele está em execução — a restauração mantém o backup até que a nova tabela termine de ser criada.
- Automação sobreposta — um script de limpeza e um agendador de backup competindo entre si, ou um loop de retry disparando
CreateBackupem dobro na mesma tabela. - Estourar o limite de taxa —
DeleteBackupaceita no máximo 10 chamadas por segundo; varrer muitos backups em um loop apertado dispara conflitos e throttling juntos.
Como corrigir
Verifique o que está em andamento e então espere:
aws dynamodb describe-backup --backup-arn arn:aws:dynamodb:...:table/orders/backup/01234... # BackupStatus: CREATING | AVAILABLE | DELETEDTente sua operação novamente quando o status estabilizar (
AVAILABLEpara uma criação concluída; uma tabela em restauração chega aACTIVEviadescribe-table).Tente novamente com backoff em vez de falhar de vez — operações de backup levam de segundos a minutos; um simples loop de esperar-e-repetir em torno da chamada absorve a serialização.
Serialize sua automação — um dono por tabela para as operações de ciclo de vida de backup; enfileire exclusões atrás de criações em vez de rodar ambas em um cron que pode se sobrepor.
Regule exclusões em massa — fique abaixo de 10 chamadas
DeleteBackup/segundo e trate esta exceção como o sinal para desacelerar.
Backups protegem os dados que você menos pode se dar ao luxo de perder — navegue pelo que de fato está em uma tabela antes de podar seus backups com o app desktop DynoTable, e estime o tráfego de leitura da restauração com a calculadora de preços do DynamoDB.
Erros relacionados
- BackupNotFoundException — o ARN não resolve para backup nenhum.
- Table already exists — restaurar para um nome que já está em uso.
- LimitExceededException — operações de control-plane concorrentes demais.
- Aprenda: Backups & point-in-time recovery
Referências
- 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
Verificado pela última vez em 2026-07-13 contra a documentação oficial da AWS vinculada acima.