DynamoDB global table version mismatch

TL;DR — DynamoDB 有兩個全域性表版本:2017.11.29(Legacy)和 2019.11.21(Current)。當成員表不滿足要求時,建立一個 legacy 全域性表或新增一個副本會失敗——legacy 副本必須是空的、共享相同的名稱、鍵模式和匹配的 GSI、啟用了 DynamoDB Streams(新舊映像),並使用一致的寫入容量——而把一個版本的 API 指向另一個版本的表會直接失敗。對齊每個副本的配置(或升級到 Current 版本),然後重試。

這是什麼意思

ValidationException: Cannot create a global table from a table with ...
ValidationException: ... replicas must have the same ... across all regions

Legacy 版本(2017.11.29)把獨立建立的區域表拼接成一個命名的全域性表,因此它要求成員表精確對齊。Current 版本(2019.11.21)在表本身上管理複製——你用 UpdateTable 新增副本——並跨副本自動同步 TTL、自動擴縮、GSI 和靜態加密設定。當你合併的表不一致,或者工具與錯誤版本的 API 表面對話時,就會出現版本不匹配錯誤。

為什麼會發生

  • 一個副本表不為空——legacy 的 CreateGlobalTable/UpdateGlobalTable API 要求每個成員表都不含資料。
  • 名稱或鍵模式不匹配——所有副本必須共享相同的表名和主索引鍵。
  • 不匹配的 GSI——全域次要索引在名稱以及雜湊/排序索引鍵上都必須跨副本匹配。
  • Streams 關閉或檢視型別錯誤——每個 legacy 副本都需要啟用 DynamoDB Streams,且帶有項目的新舊兩種映像。
  • 不一致的寫入容量——AWS 要求寫入容量設定在副本表和匹配的次要索引之間一致地設定(推薦自動擴縮,或相等的複製寫入容量單元)。
  • 混用兩個版本——把 legacy API(DescribeGlobalTableUpdateGlobalTable)指向一個 Current 版本的表會返回 GlobalTableNotFoundException 而非正常工作。
  • 過時的 AWS CLI/SDK——一個早於 2019.11.21 模型的版本無法驅動基於 UpdateTable 的副本管理。

如何修正

  1. 跨所有區域標準化成員表——相同的名稱和鍵模式、匹配的 GSI、啟用了帶新舊映像的 streams,以及一致的寫入容量/自動擴縮目標。
  2. 檢查當前狀態——每個區域用 DescribeTable(Current)或 DescribeGlobalTableSettings(一個僅 Legacy 的 API),並分別用 UpdateTableUpdateGlobalTableSettings 修正偏差。
  3. 有意識地把 Legacy 升級到 Current——透過主控台的 Update version 流程,它需要在每個副本區域中擁有 dynamodb:UpdateGlobalTableversion 許可權,且副本在升級期間會持續提供讀寫服務。
  4. 在管理 Current 版本副本之前,把你的 AWS CLI/SDK 更新到較新的版本。
  5. 把副本新增到一個相容的基礎表——Current 版本副本用 UpdateTable 新增(表可能已經含有資料,但目標區域中必須尚不存在同名的表);legacy 副本必須從空開始。

在管理一張多區域表,想在不切換主控台的情況下比較配置?DynoTable 桌面應用按區域連線,讓你能在一處細看每個副本的模式和索引。

在 DynoTable 中測量

在建立全域性表之前,比較跨區域的架構、GSI 和流設定 — 使用 ⌘P 切換,使用 ⌘K 開啟每個副本,並並排展開 IndexesStream 面板。使用 pricing calculator 估計複製寫入成本。在“設定”→“設定檔案”下使用 Test Connection 配置每個區域。參見連線 AWS安裝

來源

相關錯誤

參考資料

最後核實於 2026-07-13,依據上方連結的 AWS 官方文件。

不必透過主控台就能操作 DynamoDB

一款快速的 DynamoDB 桌面用戶端,可執行 DynamoDB 無法執行的真正 SQL — JOINs、GROUP BY、聚合 — 並支援視覺化編輯與使用你自己的 Bedrock 金鑰的 AI 代理。

30 天免費試用,無需信用卡 — 之後為無時間限制的免費方案。