GlobalTableNotFoundException
TL;DR — DescribeGlobalTable / UpdateGlobalTable sehen nur Global Tables der Version 2017.11.29 (Legacy). Eine Global Table, die auf Version 2019.11.21 (Current) gebaut ist — was du verwenden solltest — wird als reguläre Tabelle mit Replikaten über DescribeTable / UpdateTable verwaltet, und die Legacy-APIs melden sie als nicht existent. Prüfe, auf welcher Version du bist, bevor du annimmst, die Tabelle sei weg.
Was es bedeutet
GlobalTableNotFoundException: The specified global table does not exist.DynamoDB hat zwei Global-Table-Generationen mit zwei disjunkten API-Oberflächen. Die Legacy-Generation (2017.11.29) registriert ein benanntes "Global Table"-Objekt, auf dem DescribeGlobalTable, UpdateGlobalTable und UpdateGlobalTableSettings operieren. Die Current-Generation (2019.11.21) hat kein solches Objekt — Replikate leben auf der Tabelle selbst —, also antworten diese Legacy-Aufrufe mit dieser Exception, obwohl deine Tabelle einwandfrei repliziert.
Warum es passiert
- Die Tabelle ist eine Current-Version-Global-Table (2019.11.21) — mit Abstand die übliche Ursache: die Legacy-API indexiert sie schlicht nicht.
- Unter diesem Namen wurde nie eine Global Table erstellt — die Tabelle existiert, hat aber keine Replikate, oder das Replikations-Setup ist zuvor fehlgeschlagen.
- Falsche Region oder ein Tippfehler im Namen — die Legacy-Global-Table-Registrierung wird per exaktem Namen nachgeschlagen.
Wie du es behebst
Bestimme die Version:
aws dynamodb describe-table --table-name orders \ --query 'Table.GlobalTableVersion' # "2019.11.21" → use DescribeTable/UpdateTable, not the legacy APIsVerwalte Current-Version-Replikate über
UpdateTable:aws dynamodb update-table --table-name orders \ --replica-updates '[{"Create": {"RegionName": "eu-west-1"}}]'und inspiziere sie mit
describe-table(demReplicas-Feld) statt mitdescribe-global-table.Auf Legacy-Tooling? Wenn du wirklich 2017.11.29-Global-Tables betreibst, verifiziere den Namen und die Region der Registrierung — und plane das Upgrade auf 2019.11.21, das AWS für Flexibilität und geringere replizierte Schreibkosten empfiehlt.
Von Grund auf erstellen: erstelle die Tabelle, füge dann Replikate via
UpdateTablehinzu — greif in neuem Code nicht zuCreateGlobalTable(Legacy).
Die Replikat-Gesundheit über Regionen hinweg zu prüfen geht schneller mit den Tabellen nebeneinander — die DynoTable-Desktop-App verbindet sich von einem Fenster aus mit jeder Region, und der DynamoDB-Preisrechner schätzt die replizierten Schreibkosten, bevor du ein Replikat hinzufügst.
Verwandte Fehler
- Global table version mismatch — derselbe Zwei-Generationen-Split, vom Upgrade-Pfad aus getroffen.
- ReplicaNotFoundException — die Region ist nicht Teil der Replikationsgruppe.
- ReplicaAlreadyExistsException — die Region ist es bereits.
- Learn: 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
Zuletzt verifiziert am 2026-07-13 gegen die offizielle, oben verlinkte AWS-Dokumentation.