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 agora. Essas operações são serializadas – aguarde a conclusão da operação em voo (verifique BackupStatus via DescribeBackup) e tente 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.As operações de backup on-demand (CreateBackup, DeleteBackup, RestoreTableFromBackup) são chamadas de control-plane e o DynamoDB rejeita aquelas que entrariam em conflito com uma operação já em execução no mesmo backup ou tabela. É um erro de estado transitório, não um problema de permissões ou dados.
Por que isso acontece
- Excluindo um backup que ainda está sendo criado — o
CreateBackupainda não atingiu oAVAILABLE. - Excluir um backup enquanto uma restauração dele está em execução — a restauração reté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 repetição de disparo duplo do
CreateBackupna mesma tabela. - Ultrapassando o limite de taxa —
DeleteBackupaceita no máximo 10 chamadas por segundo; varrer muitos backups em um loop apertado desencadeia conflitos e estrangulamentos juntos.
Como corrigir
Verifique o que está em voo e espere:
aws dynamodb describe-backup --backup-arn arn:aws:dynamodb:...:table/orders/backup/01234... # BackupStatus: CREATING | AVAILABLE | DELETEDRepita a operação assim que 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 imediato — as operações de backup levam de segundos a minutos; um simples loop de espera e repetição em torno da chamada absorve a serialização.
Serialize sua automação — um único responsável por tabela para as operações de ciclo de vida de backup; enfileire as exclusões atrás das criações em vez de rodar ambas em um cron que pode se sobrepor.
Modere as exclusões em massa — fique abaixo de 10 chamadas
DeleteBackuppor segundo e trate esta exceção como o sinal para desacelerar.Marque os backups com o nome da tabela e a data para que a automação possa pular ARNs em voo em vez de tentar excluí-los cegamente.
Detecte no DynoTable
Antes de excluir backups, navegue pela tabela ativa que eles protegem — abra-a com ⌘K e confirme que os dados ainda importam. O DynoTable torna prático conferir o conteúdo das tabelas em várias contas (⌘P) antes que um script de limpeza seja executado.
Estime o tráfego de leitura da restauração com a calculadora de preços ao planejar um RestoreTableFromBackup. Configure os perfis em Configurações → Perfis com Testar conexão para cada conta que possui backups. Consulte Conectar ao AWS e Instalar. Enquanto espera um backup em voo terminar, navegue pelas tabelas protegidas com ⌘K para confirmar que os dados ainda merecem retenção. Consultar DescribeBackup a cada poucos segundos é suficiente — a criação de backups costuma terminar em minutos, e as exclusões são igualmente limitadas.
Fontes
- DeleteBackup — Amazon DynamoDB API Reference (verificado em 13/07/2026)
- Restoring a DynamoDB table from a backup (verificado em 13/07/2026)
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
Última verificação em 13/07/2026 em relação à documentação oficial da AWS vinculada acima.