適用於本機與線上 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:8000(README)。 - 一個 Docker 映像檔 — 官方的
aaronshaf/dynamodb-adminDocker Hub 上的映像檔能 直接放進amazon/dynamodb-local旁邊的docker-compose。它讀取HOST、PORT、BASE_PATH與DYNAMO_ENDPOINT環境變數 (README),所以它能乾淨地 接進一個容器化的開發堆疊。 - 透過一個簡單的 Web 介面建立、瀏覽與編輯資料表,讓你在 開發時不必碰 AWS 主控台。
它預設把 accessKeyId / secretAccessKey 設成假值 key 與
secret、把區域設成 us-east-1
(README) — 這恰恰
告訴你它是為什麼打造的:本機開發的內層迴圈。
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資料表,沒有JOIN、GROUP BY或彙總函式 (AWS PartiQLSELECT參考) (請見 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、沒有 JOIN、
GROUP BY 或彙總
(AWS PartiQL SELECT 參考)。
DynoTable 的 SQL Workbench 把 SQL — INNER/LEFT JOIN、
GROUP BY、COUNT、SUM 之類 — 在用戶端編譯成 DynamoDB 真正的 Query / Scan
操作。你寫關聯式形狀的 SQL;DynoTable 針對你的鍵與 GSI 規劃它,
讓它停留在 DynamoDB 存取模式規則之內,而非假裝資料表是
關聯式的。如果你撞上了連 PartiQL 都止步的牆,SQL for DynamoDB
與 PartiQL 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 上,並透過
HOST、PORT、BASE_PATH 與 DYNAMO_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、
沒有 JOIN、GROUP BY 或彙總
(AWS PartiQL SELECT 參考) —
所以沒有一款能規劃它們的用戶端,JOIN、GROUP BY 與
彙總就不可能。DynoTable 的
SQL Workbench 把那些編譯成 DynamoDB 真正的 Query / Scan 操作。
相關內容
- 瀏覽完整的比較中樞,看每一個 DynoTable 替代方案。
- 另見 DynoTable 作為 DynamoDB GUI。
- 剛接觸本機 DynamoDB?請讀 DynamoDB Local 與 連接 DynamoDB Local 與 LocalStack。
- 需要關聯式查詢?請見 SQL for DynamoDB、 DynamoDB JOIN 與 DynamoDB GROUP BY。
最後查證於 2026-06-10。dynamodb-admin 是其各自作者所有、採 MIT 授權的 開源軟體;此處引用僅供識別之用。