GlobalTableNotFoundException

TL;DR — DescribeGlobalTable / UpdateGlobalTable ne voient que les tables globales de version 2017.11.29 (Legacy). Une table globale bâtie sur la version 2019.11.21 (Current) — celle que tu devrais utiliser — est gérée comme une table régulière avec des réplicas via DescribeTable / UpdateTable, et les API legacy la signalent comme inexistante. Vérifie sur quelle version tu es avant de supposer que la table a disparu.

Ce que ça signifie

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 a deux générations de tables globales avec deux surfaces d'API disjointes. La génération legacy (2017.11.29) enregistre un objet « table globale » nommé sur lequel opèrent DescribeGlobalTable, UpdateGlobalTable et UpdateGlobalTableSettings. La génération current (2019.11.21) n'a pas d'objet de ce type — les réplicas vivent sur la table elle-même — donc ces appels legacy répondent par cette exception même si ta table se réplique parfaitement bien.

Pourquoi ça arrive

  • La table est une table globale de version current (2019.11.21) — de loin la cause habituelle : l'API legacy ne l'indexe tout simplement pas.
  • Aucune table globale n'a jamais été créée sous ce nom — la table existe mais n'a pas de réplicas, ou la configuration de la réplication a échoué plus tôt.
  • Mauvaise région ou faute de frappe dans le nom — l'enregistrement de la table globale legacy est recherché par nom exact.

Comment le corriger

  1. Détermine la version :

    aws dynamodb describe-table --table-name orders \
      --query 'Table.GlobalTableVersion'
    # "2019.11.21" → use DescribeTable/UpdateTable, not the legacy APIs
  2. Gère les réplicas de version current via UpdateTable :

    aws dynamodb update-table --table-name orders \
      --replica-updates '[{"Create": {"RegionName": "eu-west-1"}}]'

    et inspecte-les avec describe-table (le champ Replicas) au lieu de describe-global-table.

  3. Sur de l'outillage legacy ? Si tu exploites réellement des tables globales 2017.11.29, vérifie le nom et la région de l'enregistrement — et planifie la migration vers 2019.11.21, qu'AWS recommande pour sa flexibilité et son coût d'écriture répliquée plus faible.

  4. Création depuis zéro : crée la table, puis ajoute des réplicas via UpdateTable — n'utilise pas CreateGlobalTable (legacy) dans du nouveau code.

Vérifier la santé des réplicas entre régions est plus rapide avec les tables côte à côte — l'application de bureau DynoTable se connecte à chaque région depuis une seule fenêtre, et le calculateur de tarifs DynamoDB estime les coûts d'écriture répliquée avant que tu n'ajoutes un réplica.

Vérifie la taille dans DynoTable

DynoTable se connecte à toutes les Régions depuis une seule fenêtre — change avec ⌘P et ouvre le même nom de table dans chaque profil pour voir si les réplicas existent et servent des données. La barre latérale de table affiche les métadonnées de réplication sans appeler les anciennes API de tables globales.

Avant d'ajouter un réplica, estime le coût des écritures répliquées avec le calculateur de tarifs. Configure chaque Région sous Settings → Profiles et lance Test Connection avant d'exécuter des mises à jour de réplica par UpdateTable. Vois Se connecter à AWS et Installation. Si un outillage hérité appelle DescribeGlobalTable, commence par vérifier GlobalTableVersion sur DescribeTable — les tables en version Current renvoient 2019.11.21 et doivent être gérées via UpdateTable. Les anciennes API ne les voient pas, même quand la réplication se porte bien. Fais évoluer ton outillage pour appeler UpdateTable avec ReplicaUpdates sur les tables en version Current, plutôt que CreateGlobalTable.

Sources

Erreurs liées

Références

Dernière vérification le 2026-07-13 par rapport à la documentation officielle AWS liée ci-dessus.

Travaille avec DynamoDB sans la Console

Un client de bureau rapide pour DynamoDB qui exécute le vrai SQL que DynamoDB ne peut pas — JOINs, GROUP BY, agrégations — avec édition visuelle et un agent IA sur tes propres clés Bedrock.

Essai gratuit de 30 jours, sans carte bancaire — ensuite la formule Gratuit, sans limite de durée.