GlobalTableNotFoundException

TL;DR: DescribeGlobalTable / UpdateGlobalTable solo ve las tablas globales de la versión 2017.11.29 (heredada). Una tabla global creada en la versión 2019.11.21 (actual), que es la que debería usar, se administra como una tabla normal con réplicas mediante DescribeTable / UpdateTable, y las API heredadas la informan como no existente. Verifique en qué versión se encuentra antes de dar la tabla por desaparecida.

Qué significa

GlobalTableNotFoundException: The specified global table does not exist.

# what the engine actually returns, reproduced against the live DynamoDB service:
GlobalTableNotFoundException: Global table not found: Global table with name: 'no-such-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

  1. Determina la versión:

    aws dynamodb describe-table --table-name orders \
      --query 'Table.GlobalTableVersion'
    # "2019.11.21" → use DescribeTable/UpdateTable, not the legacy APIs
  2. Gestiona 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 campo Replicas) en lugar de describe-global-table.

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

  4. ¿Creando desde cero? Crea la tabla, luego añade réplicas mediante UpdateTable — no recurras a CreateGlobalTable (legacy) en código nuevo.

  5. Confirma la región en cada llamada. Las APIs legacy de tabla global tienen ámbito regional; un nombre que existe en us-east-1 puede no resolverse desde eu-west-1.

Mide el tamaño en DynoTable

DynoTable se conecta a todas las regiones desde una sola ventana — cambia de perfil con ⌘P y abre el mismo nombre de tabla en cada uno para ver si las réplicas existen y sirven datos. La barra lateral de la tabla muestra los metadatos de replicación sin llamar a las APIs legacy de tabla global.

Antes de añadir una réplica, estima el coste de escritura replicada con la calculadora de precios. Configura cada región en Ajustes → Perfiles y ejecuta Test Connection antes de lanzar actualizaciones de réplica con UpdateTable. Consulta Conectar a AWS e Instalar. Si tu tooling legacy llama a DescribeGlobalTable, comprueba primero GlobalTableVersion en DescribeTable — las tablas de versión Current devuelven 2019.11.21 y deben gestionarse mediante UpdateTable. Las APIs legacy no pueden verlas ni siquiera cuando la replicación está sana. Actualiza el tooling para que llame a UpdateTable con ReplicaUpdates en las tablas de versión Current en lugar de a CreateGlobalTable.

Fuentes

Errores relacionados

Referencias

Verificado por última vez el 2026-07-13 contra la documentación oficial de AWS enlazada arriba.

Trabaja con DynamoDB sin la Consola

Un cliente de escritorio rápido para DynamoDB que ejecuta el SQL real que DynamoDB no puede — JOINs, GROUP BY, agregaciones — con edición visual y un agente de IA con tus propias claves de Bedrock.

Prueba gratuita de 30 días, sin tarjeta — después, el plan Free sin límite de tiempo.