適用於本機與線上 DynamoDB 的 dynamodb-admin 替代方案

dynamodb-admin 是免費、 採 MIT 授權的 Web GUI,是多數開發者在啟動 DynamoDB Local 或 LocalStack 時最常拿出來用的。你把它當作一個小型的 Node 伺服器執行(npm install -g dynamodb-admin)、指向一個端點,再瀏覽 你的本機資料表。它在那一件事上很出色。本頁是給你已經 覺得它不夠用、而想要一款能處理本機線上 AWS 資料表、具備 過濾、行內編輯與 SQL Workbench 的用戶端時看的。DynoTable 是一款圍繞那個 Workbench 打造的跨平台桌面版 DynamoDB 用戶端。

dynamodb-admin 擅長什麼

dynamodb-admin 的 README 直白地描述它:一個「給 DynamoDB Local、dynalite、 localstack 等的 GUI」 (README)。當你在面對 本機端點工作時,它就是對的工具:

  • 免費且開源(MIT),所以沒有東西要買、也沒有授權要管 (授權)。
  • 零安裝摩擦npm install -g dynamodb-admin,你就有一個在 localhost:8001(預設的 --port)上的 Web UI,預設指向 http://localhost:8000README)。
  • 一個 Docker 映像檔 — 官方的 aaronshaf/dynamodb-admin Docker Hub 上的映像檔能 直接放進 amazon/dynamodb-local 旁邊的 docker-compose。它讀取 HOSTPORTBASE_PATHDYNAMO_ENDPOINT 環境變數 (README),所以它能乾淨地 接進一個容器化的開發堆疊。
  • 透過一個簡單的 Web 介面建立、瀏覽與編輯資料表,讓你在 開發時不必碰 AWS 主控台。

它預設把 accessKeyId / secretAccessKey 設成假值 keysecret、把區域設成 us-east-1README) — 這恰恰 告訴你它是為什麼打造的:本機開發的內層迴圈。

dynamodb-admin 能連線上的 AWS DynamoDB 嗎?

技術上可以 — 而這是當純本機的 admin UI 不夠用之後,人們最常 嘗試的事。你覆寫端點並提供真正的憑證:

# 把 dynamodb-admin 指向一個真正的區域,而非 localhost
AWS_REGION=eu-west-1 \
AWS_ACCESS_KEY_ID=AKIA... \
AWS_SECRET_ACCESS_KEY=... \
dynamodb-admin --dynamo-endpoint=https://dynamodb.eu-west-1.amazonaws.com

或傳入 --skip-default-credentials,讓它停止注入假的 key/secret 而改回退到標準的 AWS SDK 憑證解析 (README)。

那行得通,但它偏離了順暢路徑。dynamodb-admin 記載的選項是 端點、host、port、base path 與一個憑證切換 (README) — 沒有 連線管理員、沒有 Profile 選擇器、沒有 SSO。切換帳號或區域 意味著停掉 Node 行程,再用不同的環境變數重新啟動它。對於 偶爾偷瞄一張生產資料表還可以;作為跨多個帳號的日常主力就成了摩擦。

dynamodb-admin 止步於何處

當你的工作超出單一本機資料表時,邊界就會浮現:

  • 線上 AWS 資料表偏離順暢路徑。 如上所述 — 你可以把它指向一個真正的 區域,但它記載與預設都圍繞 DynamoDB Local,沒有儲存的 連線或 Profile 切換。
  • 沒有關聯式查詢。 像任何視覺化瀏覽器一樣,它在一張資料表中 列出並編輯項目。它無法 join 兩張資料表GROUP BY,或計算 COUNT / SUM,因為 DynamoDB 底下沒有關聯式查詢引擎。dynamodb-admin 不會加上 一個 — PartiQL 也不會:它的 SELECT 文法接受單一的 FROM 資料表,沒有 JOINGROUP BY 或彙總函式 (AWS PartiQL SELECT 參考) (請見 PartiQL vs SQL)。
  • 它是一個跑在你自己伺服器上的瀏覽器分頁。 沒有原生桌面應用、沒有跨 專案儲存的連線、沒有整合的憑證鏈 — 你保持一個 Node 行程(或容器)執行著,並把 localhost 加入書籤。

這些都不是 bug。它們是一個刻意做小的本機開發工具的邊緣。 問題在於你的工作流程是否已經越過了它。

改用一款完整的 DynamoDB 用戶端你會得到什麼

一款桌面版 DynamoDB 用戶端從兩方面補上缺口。首先,一個應用同時用於本機與 線上:同一個 UI 連接 DynamoDB Local、LocalStack 與你真正的 AWS 帳號,讀取你標準的 AWS 憑證鏈(Profile、SSO、環境變數), 而非每個環境重新啟動一個伺服器。其次,一個真正的查詢介面 架在瀏覽之上 — 鍵與過濾條件、行內編輯、PartiQL,以及 SQL。

DynoTable 從一個桌面應用連接本機線上 DynamoDB,使用 你已經有的 AWS Profile 與存取金鑰。你的資料留在 DynamoDB 中,所以 沒有東西要遷移。在瀏覽與行內編輯之上,它的招牌 功能是 SQL Workbench

在 DynamoDB 存取模式規則之內的 SQL

一款純視覺化用戶端 — 包含 dynamodb-admin — 會掃描並過濾單一資料表。 它無法 join 兩張資料表、分組資料列或彙總,因為 DynamoDB 不暴露 關聯式引擎 — 連 PartiQL 的 SELECT 都是單一 FROM、沒有 JOINGROUP BY 或彙總 (AWS PartiQL SELECT 參考)。 DynoTable 的 SQL Workbench 把 SQL — INNER/LEFT JOINGROUP BYCOUNTSUM 之類 — 在用戶端編譯成 DynamoDB 真正的 Query / Scan 操作。你寫關聯式形狀的 SQL;DynoTable 針對你的鍵與 GSI 規劃它, 讓它停留在 DynamoDB 存取模式規則之內,而非假裝資料表是 關聯式的。如果你撞上了連 PartiQL 都止步的牆,SQL for DynamoDBPartiQL vs SQL 指南會說明欠缺什麼、以及 Workbench 如何填補它。

-- 單表瀏覽器無法表達的那種查詢:
SELECT u.email, COUNT(o.id) AS orders, SUM(o.total) AS revenue
FROM Users u
JOIN Orders o ON o.userId = u.id
GROUP BY u.email;

手動建立那些鍵與過濾條件很瑣碎;免費的 DynamoDB Expression Builder 替你產生 KeyConditionExpression / FilterExpression 與屬性名稱/值對應 — 不需安裝。

DynoTable 能像 dynamodb-admin 一樣與 DynamoDB Local 搭配嗎?

能 — 當你想要時,DynoTable 會對你的本機端點執行,所以它 不是一個「僅線上」的替代品。請見 連接 DynamoDB Local 與 LocalStack 了解端點與假憑證設定。它涵蓋與 dynamodb-admin 相同的本機內層迴圈, 外加它做不到的線上資料表與查詢。

誠實的看法:dynamodb-admin 何時就夠了

如果你只在開發時瀏覽一個本機 DynamoDB 實例、想要 免費且開源的東西,且從不需要碰線上資料表或執行一個 JOIN,dynamodb-admin 是務實的選擇 — 留著它。DynoTable 是一款付費的桌面 應用;當你跨本機與線上帳號工作、想要儲存的連線與你 真正的 AWS 憑證鏈,或撞上了單表瀏覽器無法表達的查詢時,它就 展現它的價值。

下載 DynoTable(適用於 macOS、Windows 或 Linux),把它指向你 今天用的同一個 Profile,並執行一個你之前無法表達的查詢。請見 定價了解目前的方案,以及 DynoTable 作為 DynamoDB GUI的更全面樣貌。

常見問題

DynoTable 是 dynamodb-admin 的替代方案嗎?

對於純本機開發,dynamodb-admin 免費且出色。DynoTable 是 當你也需要線上 AWS 資料表、透過你 AWS 憑證鏈儲存的連線,以及一個 能執行 JOIN、GROUP BY 與彙總的 SQL Workbench 時的替代方案 — 這些都不是單表本機瀏覽器所能提供的。

dynamodb-admin 能連線上的 AWS DynamoDB 嗎?

技術上可以 — 你把 --dynamo-endpoint 覆寫到一個真正的區域並提供 憑證(搭配 --skip-default-credentials 與標準的 AWS 環境變數 (README))。但它的打造與 預設都圍繞 DynamoDB Local,沒有連線管理員或 Profile 切換,所以 線上使用偏離了順暢路徑。

有 dynamodb-admin 的 Docker 映像檔嗎?

有 — aaronshaf/dynamodb-admin 發佈在 Docker Hub 上,並透過 HOSTPORTBASE_PATHDYNAMO_ENDPOINT 環境變數設定,所以它能在一個 docker-compose 中坐在 amazon/dynamodb-local 旁邊 (README)。DynoTable 是一款 桌面應用,不是容器,所以沒有映像檔要跑 — 它直接連接你的 本機端點或線上帳號。

DynoTable 能像 dynamodb-admin 一樣與 DynamoDB Local 搭配嗎?

能。DynoTable 從同一個桌面應用連接本機端點 — DynamoDB Local 與 LocalStack — 以及 線上 AWS 帳號。請見 本機連線指南

dynamodb-admin 能執行 SQL 或 join 資料表嗎?

不能。dynamodb-admin 一次瀏覽並編輯一張資料表;它沒有 SQL 介面,而 DynamoDB 本身沒有關聯式引擎 — 連 PartiQL 的 SELECT 都是單一 FROM、 沒有 JOINGROUP BY 或彙總 (AWS PartiQL SELECT 參考) — 所以沒有一款能規劃它們的用戶端,JOINGROUP BY 與 彙總就不可能。DynoTable 的 SQL Workbench 把那些編譯成 DynamoDB 真正的 Query / Scan 操作。

相關內容

最後查證於 2026-06-10。dynamodb-admin 是其各自作者所有、採 MIT 授權的 開源軟體;此處引用僅供識別之用。

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

DynoTable 是一款快速的 DynamoDB 桌面用戶端 — 瀏覽表格、執行 SQL 風格的查詢,並在本機編輯項目。