DynamoDB ReplicaNotFoundException

TL;DR — A réplica da região que você está tentando atualizar ou remover não faz parte desta tabela global. Geralmente, um nome de região errado, uma réplica que já foi removida ou uma chamada que executa outra atualização de réplica em andamento. Confirme as réplicas atuais com DescribeTable e, em seguida, direcione uma que exista.

O que significa

ReplicaNotFoundException: The specified replica is no longer part of the global table.

As operações de tabelas globais (UpdateGlobalTable ou UpdateTable com ReplicaUpdates/Delete) endereçam uma réplica por sua região AWS. Este HTTP 400 significa que a região nomeada não é atualmente uma réplica da tabela global. É do lado do cliente e não pode ser repetida até que você tenha como alvo uma réplica real.

Por que isso acontece

  • Código de região erradous-east-2 quando a réplica está em us-east-1 ou uma região que nunca foi adicionada.
  • Réplica já removida — uma exclusão em uma região que uma atualização anterior já foi removida da tabela.
  • Alterações de réplica sobrepostasUpdateTable não pode ser executado enquanto a tabela ainda é UPDATING de uma alteração anterior e AWS recomenda emitir uma solicitação separada para cada réplica add/remove; a automação de corridas pode ter como alvo uma réplica de outro trabalho já removido.
  • Confundir o primário com uma réplica — operando em uma região que não hospeda nenhuma réplica desta tabela.
  • Confusão de versões — misturando a versão legada 2017.11.29 (GlobalTable) e os atuais 2019.11.21 (réplica na tabela) APIs.

Como corrigir

  1. Liste as réplicas atuais e seus status:
    aws dynamodb describe-table --table-name <Table> \
      --query "Table.Replicas[].{Region:RegionName,Status:ReplicaStatus}"
  2. Mire uma região que esteja de fato na lista — copie o código da região exatamente.
  3. Altere uma réplica por vez. Espere a tabela voltar para ACTIVE (e a adição/remoção anterior terminar) antes da próxima atualização.
  4. Removendo uma réplica que já sumiu? Não há nada a fazer — trate o ReplicaNotFoundException como já-satisfeito para uma exclusão.
  5. Use a API atual (2019.11.21) — gerencie réplicas via UpdateTable ReplicaUpdates, não a API legada de global table.

Gerenciando tabelas entre regions? O app desktop DynoTable mostra as réplicas de cada tabela e seu status, para que você possa agir em uma region que genuinamente faz parte da global table.

Confira primeiro no DynoTable

Abra a tabela no DynoTable e confira as estatísticas da tabela / a lista de réplicas para ver quais regions de fato existem antes de rodar UpdateTable ReplicaUpdates. Troque de perfil com ⌘P para estar olhando a conta que é dona da global table. Quando uma region réplica sumiu, o DynoTable simplesmente a omite — não há card obsoleto de console para clicar.

Confira o código da region contra a lista ao vivo e depois reemita a mudança de control plane pelo IaC ou pela CLI. Para leituras do dia a dia entre réplicas, mantenha um perfil do DynoTable por region e troque com ⌘1⌘9 em vez de adivinhar ARNs. O query builder permanece na region do perfil ativo, então você nunca mistura uma Query em us-east-1 com um nome de tabela de us-west-2.

Fontes

Erros relacionados

Referências

Verificado pela última vez em 2026-07-13 contra a 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.