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
Détermine la version :
aws dynamodb describe-table --table-name orders \ --query 'Table.GlobalTableVersion' # "2019.11.21" → use DescribeTable/UpdateTable, not the legacy APIsGè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 champReplicas) au lieu dedescribe-global-table.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.
Création depuis zéro : crée la table, puis ajoute des réplicas via
UpdateTable— n'utilise pasCreateGlobalTable(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
- DynamoDB global tables versions (vérifié le 2026-07-13)
- UpdateTable — Amazon DynamoDB API Reference (vérifié le 2026-07-13)
Erreurs liées
- Global table version mismatch — la même séparation en deux générations, rencontrée depuis le parcours de migration.
- ReplicaNotFoundException — la région ne fait pas partie du groupe de réplication.
- ReplicaAlreadyExistsException — la région en fait déjà partie.
- Apprends : Tables globales DynamoDB
Références
- 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
Dernière vérification le 2026-07-13 par rapport à la documentation officielle AWS liée ci-dessus.