用于本地和实时 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 吗?
技术上可以——而且这是一旦纯本地的管理 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 记载的选项是 端点、主机、端口、基础路径和一个凭证开关 (README)——没有 连接管理器、没有配置文件选择器、没有 SSO。切换账户或区域 意味着停止 Node 进程并用不同的环境变量重新启动它。对于偶尔 看一眼生产表没问题;作为跨多个账户的日常主力则摩擦 重重。
dynamodb-admin 在哪里止步
当你的工作超出单张本地表时,边界就显现了:
- 实时 AWS 表偏离顺畅路径。 如上——你可以把它指向一个真实 区域,但它的记载和默认都围绕 DynamoDB Local,没有保存的 连接或配置文件切换。
- 没有关系型查询。 像任何可视化浏览器一样,它在单张表中列出和编辑项。
它无法连接两张表、
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 凭证链(配置文件、SSO、环境变量), 而非为每个环境重新启动一个服务器。第二,在浏览之上的一个真正的查询接口 ——键和过滤条件、内联编辑、PartiQL 和 SQL。
DynoTable 从一个桌面应用连接到本地和实时 DynamoDB,使用你 已经有的 AWS 配置文件和访问密钥。你的数据留在 DynamoDB,所以 没有什么要迁移。在浏览和内联编辑之上,它的头牌 功能是 SQL Workbench。
在 DynamoDB 的访问模式规则内的 SQL
一个普通的可视化客户端——包括 dynamodb-admin——扫描并过滤单张表。
它无法连接两张表、分组行或聚合,因为 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 表达式构建器为你生成
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),把它指向你今天 所用的同一个配置文件,并运行一个你以前无法表达的查询。当前套餐见 定价,更全面的图景见 作为 DynamoDB GUI 的 DynoTable。
常见问题
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 构建和默认,没有连接管理器或配置文件切换,所以
实时使用偏离顺畅路径。
有 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 或连接表吗?
不能。dynamodb-admin 一次浏览和编辑一张表;它没有 SQL 接口,且
DynamoDB 自身没有关系引擎——即便是 PartiQL 的 SELECT 也是单 FROM
且没有 JOIN、GROUP BY 或聚合
(AWS PartiQL SELECT 参考)——
所以没有能规划它们的客户端,JOIN、GROUP BY 和
聚合就不可能实现。DynoTable 的
SQL Workbench 把这些向下编译为 DynamoDB 真正的 Query / Scan 操作。
相关阅读
- 浏览完整的对比中心了解每一个 DynoTable 替代方案。
- 另见作为 DynamoDB GUI 的 DynoTable。
- 刚接触本地 DynamoDB?阅读 DynamoDB Local和 连接到 DynamoDB Local 与 LocalStack。
- 需要关系型查询?参见 SQL for DynamoDB、 DynamoDB JOIN 和 DynamoDB GROUP BY。
最后核实于 2026-06-10。dynamodb-admin 是其各自作者的 MIT 许可开源软件; 此处引用仅用于标识。