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 CreateBackup ainda não atingiu o AVAILABLE.
  • 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 CreateBackup na mesma tabela.
  • Ultrapassando o limite de taxaDeleteBackup aceita no máximo 10 chamadas por segundo; varrer muitos backups em um loop apertado desencadeia conflitos e estrangulamentos juntos.

Como corrigir

  1. Verifique o que está em voo e espere:

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

    Repita a operação assim que o status estabilizar (AVAILABLE para uma criação concluída; uma tabela em restauração chega a ACTIVE via describe-table).

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

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

  4. Modere as exclusões em massa — fique abaixo de 10 chamadas DeleteBackup por segundo e trate esta exceção como o sinal para desacelerar.

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

Erros relacionados

Referências

Última verificação em 13/07/2026 em relação à documentação oficial da AWS vinculada acima.

Trabalhe com o DynamoDB sem o Console

Um cliente desktop rápido para DynamoDB que roda o SQL de verdade que o DynamoDB não consegue — JOINs, GROUP BY, agregações — com edição visual e um agente de IA com suas próprias chaves do Bedrock.

Teste grátis de 30 dias, sem cartão de crédito — depois o plano Grátis sem limite de tempo.