用于本地和实时 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 吗?

技术上可以——而且这是一旦纯本地的管理 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 表,没有 JOINGROUP BY 或聚合函数 (AWS PartiQL SELECT 参考) (参见 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 且没有 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 表达式构建器为你生成 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上,通过 HOSTPORTBASE_PATHDYNAMO_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 且没有 JOINGROUP BY 或聚合 (AWS PartiQL SELECT 参考)—— 所以没有能规划它们的客户端,JOINGROUP BY 和 聚合就不可能实现。DynoTable 的 SQL Workbench 把这些向下编译为 DynamoDB 真正的 Query / Scan 操作。

相关阅读

最后核实于 2026-06-10。dynamodb-admin 是其各自作者的 MIT 许可开源软件; 此处引用仅用于标识。

无需控制台即可使用 DynamoDB

DynoTable 是面向 DynamoDB 的快速桌面客户端 —— 浏览表、运行 SQL 风格的查询,并在本地编辑项。