GlobalTableNotFoundException
In breve — DescribeGlobalTable / UpdateGlobalTable vedono solo le global table di versione 2017.11.29 (Legacy). Una global table costruita sulla versione 2019.11.21 (Current) — che è quella che dovresti usare — è gestita come una tabella normale con repliche tramite DescribeTable / UpdateTable, e le API legacy la segnalano come inesistente. Controlla su quale versione ti trovi prima di presumere che la tabella sia sparita.
Cosa significa
GlobalTableNotFoundException: The specified global table does not exist.DynamoDB ha due generazioni di global table con due superfici API disgiunte. La generazione legacy (2017.11.29) registra un oggetto "global table" con nome su cui operano DescribeGlobalTable, UpdateGlobalTable e UpdateGlobalTableSettings. La generazione attuale (2019.11.21) non ha tale oggetto — le repliche vivono sulla tabella stessa — quindi quelle chiamate legacy rispondono con questa eccezione anche se la tua tabella si replica perfettamente.
Perché accade
- La tabella è una global table di versione attuale (2019.11.21) — di gran lunga la causa abituale: l'API legacy semplicemente non la indicizza.
- Nessuna global table è mai stata creata con quel nome — la tabella esiste ma non ha repliche, o la configurazione della replica è fallita in precedenza.
- Region errata o refuso nel nome — la registrazione della global table legacy viene cercata per nome esatto.
Come correggerlo
Determina la versione:
aws dynamodb describe-table --table-name orders \ --query 'Table.GlobalTableVersion' # "2019.11.21" → use DescribeTable/UpdateTable, not the legacy APIsGestisci le repliche di versione attuale tramite
UpdateTable:aws dynamodb update-table --table-name orders \ --replica-updates '[{"Create": {"RegionName": "eu-west-1"}}]'e ispezionale con
describe-table(il campoReplicas) invece didescribe-global-table.Sei su tooling legacy? Se gestisci genuinamente global table 2017.11.29, verifica il nome e la region della registrazione — e pianifica l'upgrade a 2019.11.21, che AWS raccomanda per flessibilità e costo di scrittura replicata inferiore.
Creazione da zero: crea la tabella, poi aggiungi le repliche tramite
UpdateTable— non ricorrere aCreateGlobalTable(legacy) nel codice nuovo.
Controllare lo stato delle repliche tra le region è più rapido con le tabelle affiancate — l'app desktop DynoTable si connette a ogni region da un'unica finestra, e il calcolatore dei prezzi DynamoDB stima i costi di scrittura replicata prima che aggiungi una replica.
Errori correlati
- Global table version mismatch — la stessa divisione in due generazioni, incontrata dal percorso di upgrade.
- ReplicaNotFoundException — la region non fa parte del gruppo di replica.
- ReplicaAlreadyExistsException — la region ne fa già parte.
- Impara: DynamoDB global tables
References
- 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
Ultima verifica 2026-07-13 rispetto alla documentazione ufficiale AWS collegata sopra.