GlobalTableNotFoundException
TL;DR — DescribeGlobalTable / UpdateGlobalTable solo ven las tablas globales de versión 2017.11.29 (Legacy). Una tabla global construida sobre la versión 2019.11.21 (Current) — que es lo que deberías estar usando — se gestiona como una tabla normal con réplicas a través de DescribeTable / UpdateTable, y las APIs legacy la reportan como inexistente. Comprueba en qué versión estás antes de asumir que la tabla desapareció.
Qué significa
GlobalTableNotFoundException: The specified global table does not exist.DynamoDB tiene dos generaciones de tabla global con dos superficies de API disjuntas. La generación legacy (2017.11.29) registra un objeto "tabla global" con nombre sobre el que operan DescribeGlobalTable, UpdateGlobalTable y UpdateGlobalTableSettings. La generación current (2019.11.21) no tiene tal objeto — las réplicas viven en la propia tabla — así que esas llamadas legacy responden con esta excepción aunque tu tabla se replique perfectamente bien.
Por qué ocurre
- La tabla es una tabla global de versión current (2019.11.21) — con diferencia la causa habitual: la API legacy simplemente no la indexa.
- Nunca se creó ninguna tabla global con ese nombre — la tabla existe pero no tiene réplicas, o la configuración de replicación falló antes.
- Región equivocada o errata en el nombre — el registro de tabla global legacy se busca por nombre exacto.
Cómo solucionarlo
Determina la versión:
aws dynamodb describe-table --table-name orders \ --query 'Table.GlobalTableVersion' # "2019.11.21" → use DescribeTable/UpdateTable, not the legacy APIsGestiona las réplicas de versión current a través de
UpdateTable:aws dynamodb update-table --table-name orders \ --replica-updates '[{"Create": {"RegionName": "eu-west-1"}}]'e inspecciónalas con
describe-table(el campoReplicas) en lugar dedescribe-global-table.¿En tooling legacy? Si de verdad operas tablas globales 2017.11.29, verifica el nombre y la región del registro — y planifica la actualización a 2019.11.21, que AWS recomienda por flexibilidad y menor coste de escritura replicada.
¿Creando desde cero? Crea la tabla, luego añade réplicas mediante
UpdateTable— no recurras aCreateGlobalTable(legacy) en código nuevo.
Comprobar la salud de las réplicas entre regiones es más rápido con las tablas en paralelo — la app de escritorio DynoTable se conecta a cada región desde una sola ventana, y la calculadora de precios de DynamoDB estima los costes de escritura replicada antes de que añadas una réplica.
Errores relacionados
- Global table version mismatch — la misma división en dos generaciones, alcanzada desde la ruta de actualización.
- ReplicaNotFoundException — la región no forma parte del grupo de replicación.
- ReplicaAlreadyExistsException — la región ya lo hace.
- Aprende: Tablas globales de DynamoDB
Referencias
- UpdateGlobalTable — Amazon DynamoDB API Reference
- DynamoDB global tables versions (determining the version) — Amazon DynamoDB Developer Guide
- UpdateTable — Amazon DynamoDB API Reference
- CreateGlobalTable — Amazon DynamoDB API Reference
Verificado por última vez el 2026-07-13 contra la documentación oficial de AWS enlazada arriba.