Incompatibilidade de versão da tabela global DynamoDB
TL;DR — DynamoDB tem duas versões de tabela global: 2017.11.29 (Legado) e 2019.11.21 (Atual). A criação de uma tabela global legada ou a adição de uma réplica falha quando as tabelas membros não atendem aos requisitos - as réplicas legadas devem estar vazias, compartilhar o mesmo nome, esquema de chave e GSIs correspondentes, ter Streams DynamoDB (imagens novas e antigas) habilitados e usar capacidade de gravação consistente - e apontar os APIs de uma versão para as tabelas da outra versão falha completamente. Alinhe a configuração de cada réplica (ou atualize para a versão atual) e tente novamente.
O que significa
ValidationException: Cannot create a global table from a table with ...
ValidationException: ... replicas must have the same ... across all regionsA versão Legacy (2017.11.29) une tabelas regionais criadas de forma independente em uma tabela global nomeada, portanto, exige que as tabelas de membros se alinhem exatamente. A versão Atual (2019.11.21) gerencia a replicação na própria tabela (você adiciona réplicas com UpdateTable) e sincroniza TTL, escalonamento automático, GSI e configurações de criptografia em repouso entre réplicas automaticamente. Erros de incompatibilidade de versão aparecem quando as tabelas que você está combinando discordam ou quando as ferramentas se comunicam com a superfície API da versão errada.
Por que isso acontece
- Uma tabela de réplica não está vazia — os
CreateGlobalTable/UpdateGlobalTableAPIs herdados exigem que cada tabela de membro não contenha dados. - Incompatibilidade de nome ou esquema de chave — todas as réplicas devem compartilhar o mesmo nome de tabela e chave primária.
- GSIs incompatíveis — os índices secundários globais devem corresponder entre as réplicas no nome e na chave hash/sort.
- Streams desativados ou tipo de visualização incorreto — cada réplica herdada precisa de Streams DynamoDB habilitados com as imagens novas e antigas do item.
- Capacidade de gravação inconsistente — AWS exige que as configurações de capacidade de gravação sejam definidas de forma consistente em tabelas de réplica e índices secundários correspondentes (escalonamento automático recomendado ou unidades de capacidade de gravação replicadas iguais).
- Misturando as duas versões — apontar os APIs legados (
DescribeGlobalTable,UpdateGlobalTable) para uma tabela de versão atual retorna GlobalTableNotFoundException em vez de funcionar. - CLI/SDK AWS desatualizado — uma versão anterior ao modelo 2019.11.21 não pode conduzir o gerenciamento de réplicas baseado em
UpdateTable.
Como corrigir
- Padronize as tabelas de membros em todas as regiões — mesmo nome e esquema de chave, GSIs correspondentes, fluxos habilitados com imagens novas e antigas e destinos /auto-scaling com capacidade de gravação consistente.
- Verifique o estado atual com
DescribeTablepor região (atual) ouDescribeGlobalTableSettings(um API somente legado) e corrija o desvio comUpdateTableouUpdateGlobalTableSettingsrespectivamente. - Atualizar legado → atual deliberadamente por meio do fluxo Atualizar versão do console — ele precisa da permissão
dynamodb:UpdateGlobalTableversionem cada região de réplica, e as réplicas continuam servindo leituras e escritas durante a atualização. - Atualize seu CLI/SDK AWS para uma versão recente antes de gerenciar réplicas da versão atual.
- Adicionar réplicas a uma tabela base compatível — As réplicas da versão atual são adicionadas com
UpdateTable(a tabela pode já conter dados, mas a região de destino ainda não deve ter uma tabela com esse nome); as réplicas legadas devem começar vazias. - Ative streams antes da criação do legado. Cada réplica legada precisa de streams DynamoDB com imagens novas e antigas — verifique com
DescribeTableem todas as regiões.
Meça no DynoTable
Compare esquema, GSIs e configurações de streaming entre regiões antes de criar uma tabela global — alterne com ⌘P, abra cada réplica com ⌘K e expanda os painéis Indexes e Stream lado a lado.
Estime o custo de gravação replicado com a calculadora de preços. Configure cada região em Configurações → Perfis com Conexão de teste. Consulte Conectar ao AWS e Instalar.
Fontes
- Versões de tabelas globais DynamoDB (verificado em 13/07/2026)
- CreateGlobalTable — Referência Amazon DynamoDB API (verificado em 13/07/2026)
Erros relacionados
- ResourceInUseException — uma réplica da tabela/region já está em uso.
- ReplicaNotFoundException — não existe uma região de réplica referenciada.
- Aprenda: tabelas globais DynamoDB
Referências
Última verificação em 13/07/2026 em relação à documentação oficial do AWS vinculada acima.