DynamoDB la versión de la tabla global no coincide
TL;DR — DynamoDB tiene dos versiones de tabla global: 2017.11.29 (heredado) y 2019.11.21 (actual). La creación de una tabla global heredada o la adición de una réplica falla cuando las tablas miembro no cumplen con los requisitos: las réplicas heredadas deben estar vacías, compartir el mismo nombre, clave schema y GSI, tener DynamoDB Streams (nueva y antigua). imágenes) habilitados y usan una capacidad de escritura consistente, y apuntar los APIs de una versión a las tablas de la otra versión falla completamente. Alinee la configuración de cada réplica (o actualice a la versión actual) y luego vuelva a intentarlo.
Qué significa
ValidationException: Cannot create a global table from a table with ...
ValidationException: ... replicas must have the same ... across all regionsLa versión Legacy (2017.11.29) une tablas regionales creadas de forma independiente en una tabla global con nombre, así que exige que las tablas miembro encajen exactamente. La versión Current (2019.11.21) gestiona la replicación en la propia tabla — añades réplicas con UpdateTable — y sincroniza automáticamente la configuración de TTL, autoescalado, GSI y cifrado en reposo entre réplicas. Los errores de desajuste de versión aparecen cuando las tablas que estás combinando no coinciden, o cuando el tooling habla con la superficie de API de la versión equivocada.
Por qué ocurre
- Una tabla de réplica no está vacía — las APIs legacy
CreateGlobalTable/UpdateGlobalTablerequieren que cada tabla miembro no contenga datos. - Desajuste de nombre o esquema de clave — todas las réplicas deben compartir el mismo nombre de tabla y clave primaria.
- GSI dispares — los índices secundarios globales deben coincidir entre réplicas en nombre y en clave hash/ordenación.
- Streams desactivado o tipo de vista equivocado — cada réplica legacy necesita DynamoDB Streams habilitado con las imágenes nueva y antigua del Item.
- Capacidad de escritura inconsistente — AWS exige que la configuración de capacidad de escritura se establezca de forma consistente entre tablas de réplica e índices secundarios coincidentes (se recomienda el autoescalado, o unidades de capacidad de escritura replicadas iguales).
- Mezclar las dos versiones — apuntar las APIs legacy (
DescribeGlobalTable,UpdateGlobalTable) a una tabla de versión Current devuelve GlobalTableNotFoundException en lugar de funcionar. - AWS CLI/SDK obsoleto — una versión anterior al modelo 2019.11.21 no puede manejar la gestión de réplicas basada en
UpdateTable.
Cómo solucionarlo
- Estandariza las tablas miembro en todas las regiones — mismo nombre y esquema de clave, GSI coincidentes, streams habilitado con imágenes nuevas + antiguas, y objetivos de capacidad de escritura/autoescalado consistentes.
- Comprueba el estado actual con
DescribeTablepor región (Current) oDescribeGlobalTableSettings(una API solo de Legacy) y corrige la deriva conUpdateTableoUpdateGlobalTableSettingsrespectivamente. - Actualiza de Legacy → Current deliberadamente mediante el flujo Update version de la consola — necesita el permiso
dynamodb:UpdateGlobalTableversionen cada región de réplica, y las réplicas siguen sirviendo lecturas y escrituras durante la actualización. - Actualiza tu AWS CLI/SDK a una versión reciente antes de gestionar réplicas de versión Current.
- Añade réplicas a una tabla base compatible — las réplicas de versión Current se añaden con
UpdateTable(la tabla ya puede contener datos, pero la región de destino no debe tener ya una tabla con ese nombre); las réplicas legacy deben empezar vacías. - Habilita streams antes de crear la tabla legacy. Cada réplica legacy necesita DynamoDB Streams con las imágenes nueva y antigua — verifícalo con
DescribeTableen cada región.
Mídelo en DynoTable
Compara el esquema, los GSI y la configuración de streams entre regiones antes de crear una tabla global — cambia de perfil con ⌘P, abre cada réplica con ⌘K y despliega los paneles Indexes y Stream en paralelo.
Estima el coste de escritura replicada con la calculadora de precios. Configura cada región en Ajustes → Perfiles con Test Connection. Consulta Conectar a AWS e Instalar.
Fuentes
- DynamoDB global tables versions (verificado 2026-07-13)
- CreateGlobalTable — Amazon DynamoDB API Reference (verificado 2026-07-13)
Errores relacionados
- ResourceInUseException — una tabla/región de réplica ya está en uso.
- ReplicaNotFoundException — una región de réplica referenciada no existe.
- Aprende: Tablas globales de DynamoDB
Referencias
- CreateGlobalTable — Amazon DynamoDB API Reference
- UpdateGlobalTable — Amazon DynamoDB API Reference
- UpdateTable — Amazon DynamoDB API Reference
- DynamoDB global tables versions (determining and upgrading) — Amazon DynamoDB Developer Guide
Verificado por última vez el 2026-07-13 contra la documentación oficial de AWS enlazada arriba.