DynamoDB Localの開発を便利にするdynamodb-adminを導入する

2021.01.16
DynamoDB Localの開発を便利にするdynamodb-adminを導入する

Serverless FrameworkのプロジェクトにDynamoDB Localを導入する記事を書きました。





DynamoDB Localは単体でもテーブルの確認、操作、クエリの発行も出来ますが、

SequelのようなGUIで簡単操作は出来ません。


例えばテーブルの内容を確認する際も以下のようなコードを書く必要があります。

var params = {
    TableName: 'users',
};
dynamodb.scan(params, function(err, data) {
    if (err) ppJson(err);
    else ppJson(data);
});




そこでDynamoDB Localの確認・操作でおすすめなのが、dynamodb-adminというパッケージ。

上記の画像のようにGUIベースで、DynamoDB Localの確認・操作が簡単に出来るようになります!



例えば、テーブルにデータを追加する、といった事も簡単に出来ます。

便利ですね。




ここではServerless Frameworkのプロジェクトの中に導入しますが、

それ以外の環境でもDynamoDB Localを確認する、という点では同じように使えます。

検証した環境

1 serverless-dynamodb-local 0.2.39
2 dynamodb-admin 4.0.0

dynamodb-adminを導入する

パッケージを追加

$ yarn add -D dynamodb-admin

dynamodb-adminでDynamoDB Localを確認する

確認する上でまずDynamoDB Localを立ち上げておく必要があります。

# DynamoDB Localを立ち上げておく
$ npx sls dynamodb start
Dynamodb Local Started, Visit: http://localhost:8000/shell
2021-01-16 23:58:00.489:INFO::main: Logging initialized @550ms to org.eclipse.jetty.util.log.StdErrLog
Serverless: DynamoDB - created table users
Seed running complete for table: users



あとはdynamodb-adminを立ち上げればOK!

立ち上げるのもdynamodb-adminコマンドを実行すればいいだけ、簡単ですね。

$ npx dynamodb-admin
DYNAMO_ENDPOINT is not defined (using default of http://localhost:8000)
database endpoint:  http://localhost:8000
・・・

dynamodb-admin listening on http://localhost:8001 (alternatively http://0.0.0.0:8001) 

↑で表示されているhttp://localhost:8001にアクセスすると

dynamodb-adminを使って操作が出来るようになりました!

dynamodb-adminコマンドを使う上で

DynamoDB Localのポート番号を変えている場合

DynamoDB Localはデフォルトで8000番で起動します。


dynamodb-adminもその前提で動いていて、もしDynamoDB Localのポート番号を変更している場合は環境変数の値を変える必要があります。

$ DYNAMO_ENDPOINT=http://localhost:8080 dynamodb-admin

公式のGitHubではwindowsの場合についても記載されています。

aaronshaf/dynamodb-admin: GUI for DynamoDB Local or dynalite



dynamodb-adminをコマンド実行と同時にブラウザで起動する

オプション1つで出来るので設定するのがおすすめです!!


dynamodb-adminコマンド実行時に -o を付けるだけでOKです。

# コマンド実行と同時にブラウザでdynamodb-adminのページを開く
$ npx dynamodb-admin -o

おすすめ