ローカルとライブの DynamoDB に対応する dynamodb-admin の代替
dynamodb-admin は、
DynamoDB Local や LocalStack を立ち上げるときに、ほとんどの
開発者が手を伸ばす無料の MIT ライセンスの Web GUI です。小さな Node サーバーとして実行し
(npm install -g dynamodb-admin)、エンドポイントに向け、ローカルのテーブルを閲覧します。
その 1 つの仕事は得意です。このページは、それを卒業し、フィルタリング、インライン編集、
SQL Workbench を備えて ローカル と ライブ AWS テーブル を扱うクライアントが欲しく
なったときのためのものです。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)、コンテナ化された 開発スタックにきれいに組み込まれます。 - テーブルの作成、閲覧、編集 を、開発中に AWS コンソールに触れずに、シンプルな Web インターフェースを通して行えます。
デフォルトで 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 の文書化された オプションは、エンドポイント、ホスト、ポート、ベースパス、認証情報のトグルです (README)— 接続マネージャーも、 プロファイルピッカーも、SSO もありません。アカウントやリージョンを切り替えるには、 Node プロセスを止めて、異なる環境変数で再起動します。本番テーブルをたまに覗くには問題 ありませんが、複数のアカウントにまたがる日常使いには摩擦です。
dynamodb-admin が止まるところ
その境界は、作業が単一のローカルテーブルを超えて広がるにつれて現れます。
- ライブ AWS テーブルはハッピーパスから外れている。 上記のとおり — 本物のリージョンに 向けられますが、文書化もデフォルトも DynamoDB Local を中心にしており、保存された接続や プロファイルの切り替えはありません。
- リレーショナルクエリなし。 どんなビジュアルブラウザもそうであるように、1 つのテーブルの
アイテムを一覧・編集します。2 つのテーブルを結合したり、
GROUP BYしたり、COUNT/SUMを計算したりはできません。 DynamoDB の下にリレーショナルクエリエンジンがないからです。dynamodb-admin はそれを 追加せず — PartiQL も同様です: そのSELECT文法は単一のFROMテーブルを取り、JOIN、GROUP BY、集計関数はありません (AWS PartiQLSELECTリファレンス) (PartiQL vs SQL を参照)。 - 自分で実行するサーバー上のブラウザタブ。 ネイティブのデスクトップアプリも、プロジェクト
をまたぐ保存された接続も、統合された認証情報チェーンもありません — Node プロセス(または
コンテナ)を動かし続け、
localhostをブックマークします。
これらはどれもバグではありません。意図的に小さなローカル開発ツールの端です。問題は、 あなたのワークフローがそれを越えたかどうかです。
完全な DynamoDB クライアントに移ると得られるもの
デスクトップの DynamoDB クライアントは、2 つの方法でギャップを埋めます。第一に、 ローカルとライブのための 1 つのアプリ: 同じ UI が、環境ごとにサーバーを再起動する 代わりに、標準の AWS 認証情報チェーン(プロファイル、SSO、環境変数)を読みながら、 DynamoDB Local、LocalStack、本物の AWS アカウントに接続します。第二に、閲覧の上の 本物のクエリ表層 — キーとフィルタ条件、インライン編集、PartiQL、そして SQL。
DynoTable は、すでに持っている AWS プロファイルとアクセスキーを使って、1 つのデスクトップ アプリから ローカル と ライブ の DynamoDB に接続します。データは DynamoDB に 留まるので、移行するものはありません。閲覧とインライン編集の上に、その目玉機能が SQL Workbench です。
DynamoDB のアクセスパターンのルール内での SQL
ふつうのビジュアルクライアント — dynamodb-admin も含めて — は、1 つのテーブルをスキャンし
フィルタします。2 つのテーブルを結合したり、行をグループ化したり、集計したりはできません。
DynamoDB がリレーショナルエンジンを公開していないからです — PartiQL の SELECT でさえ、
JOIN、GROUP BY、集計のない単一 FROM です
(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 認証情報チェーンが欲しく、あるいは単一テーブルのブラウザでは表現できないクエリにぶつかった ときに、その価値を発揮します。
macOS、Windows、Linux 向けに DynoTable をダウンロードし、今日使っているのと 同じプロファイルに向け、以前は表現できなかったクエリを実行してください。現在のプランは 料金を、より広い全体像は DynamoDB GUI としての DynoTableを参照してください。
FAQ
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 は一度に 1 つのテーブルを閲覧・編集します。SQL の表層はなく、
DynamoDB 自体にリレーショナルエンジンがありません — PartiQL の SELECT でさえ、JOIN、
GROUP BY、集計のない単一 FROM です
(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 ライセンスの オープンソースソフトウェアです。ここでは識別目的でのみ言及しています。