ローカルとライブの 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-admin Docker Hub のイメージamazon/dynamodb-local の隣の docker-compose にそのまま入ります。HOSTPORTBASE_PATHDYNAMO_ENDPOINT の環境変数を読むので (README)、コンテナ化された 開発スタックにきれいに組み込まれます。
  • テーブルの作成、閲覧、編集 を、開発中に AWS コンソールに触れずに、シンプルな Web インターフェースを通して行えます。

デフォルトで accessKeyId / secretAccessKey をダミー値の keysecret に、リージョンを 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 テーブルを取り、JOINGROUP BY、集計関数はありません (AWS PartiQL SELECT リファレンス) (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 でさえ、 JOINGROUP BY、集計のない単一 FROM です (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 認証情報チェーンが欲しく、あるいは単一テーブルのブラウザでは表現できないクエリにぶつかった ときに、その価値を発揮します。

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-adminDocker 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 は一度に 1 つのテーブルを閲覧・編集します。SQL の表層はなく、 DynamoDB 自体にリレーショナルエンジンがありません — PartiQL の SELECT でさえ、JOINGROUP BY、集計のない単一 FROM です (AWS PartiQL SELECT リファレンス)— そのため JOINGROUP BY、集計は、 それらを計画するクライアントなしには不可能です。DynoTable の SQL Workbench は、それらを DynamoDB の本物の Query / Scan 操作にコンパイルします。

関連

最終確認 2026-06-10。dynamodb-admin はそれぞれの作者による MIT ライセンスの オープンソースソフトウェアです。ここでは識別目的でのみ言及しています。

Console なしで DynamoDB を扱う

DynoTable は DynamoDB 向けの高速なデスクトップクライアントです — テーブルを閲覧し、SQL スタイルのクエリを実行し、アイテムをローカルで編集できます。