はじめに
- WindowsでDynamoDB localを使用する方法を調べたので備忘録として記事にしました。
- WindowsとWindows(WSL2)の例を紹介します。
- テーブル操作はWindows(DynamoDB)← Windows(WSL2:Python)の例を紹介します。
- dockerによる利用は記載しません。
DynamoDB local v2.x のダウンロード
- .zipをDLして展開する
- DynamoDBLocal.jarの保存先に移動してpowershellで以下のコマンドを実行する
java -D"java.library.path=./DynamoDBLocal_lib" -jar DynamoDBLocal.jar Initializing DynamoDB Local with the following configuration: Port: 8000 InMemory: false DbPath: null SharedDb: false shouldDelayTransientStatuses: false CorsParams: null
AWS CLIインストール
https://aws.amazon.com/jp/cli/ にアクセスし、右側のDLリンクをクリックする。
dynamodb-adminを使用するためには認証情報の設定が必要です。詳細は以下を確認してください。
テーブルの作成、書き込み
以下を確認してください。
Windows(DynamoDB)← Windows(WSL2:Python)の場合はendpoint_url
にWindows側のIPアドレスを設定する必要があるので注意してください。
Node.js(npm)をインストールする
npmでdynamodb-localをインストールするため、未インストールの場合はNode.jsの公式ページからDL、または、nodenv等でインストールしてください。
https://nodejs.org/ja/downloadnodejs.org
Windows(WSL2)向け
dynamodb-adminをインストールして起動する
npm install -g dynamodb-admin
DYNAMO_ENDPOINT=http://[dynamodb-localを起動しているPCのアドレス]:8000 dynamodb-admin database endpoint: http://[dynamodb-localを起動しているPCのアドレス]:8000 region: [aws configureで設定したregion] accessKey: [aws configureで設定したaccessKey] dynamodb-admin listening on http://:::8001 (alternatively http://0.0.0.0:8001) (node:44479) NOTE: We are formalizing our plans to enter AWS SDK for JavaScript (v2) into maintenance mode in 2023. Please migrate your code to use AWS SDK for JavaScript (v3). For more information, check the migration guide at https://a.co/7PzMCcy (Use `node --trace-warnings ...` to show where the warning was created)
http://localhost:8001にアクセスすることでテーブルを確認することができます。
Windows向け
dynamodb-adminをインストールして起動する
powershellで以下を実行します。
npm install -g dynamodb-admin npm WARN deprecated querystring@0.2.0: The querystring API is considered Legacy. new code should use the URLSearchParams API instead. added 125 packages in 21s 21 packages are looking for funding run `npm fund` for details npm notice npm notice New major version of npm available! 9.8.1 -> 10.1.0 npm notice Changelog: https://github.com/npm/cli/releases/tag/v10.1.0 npm notice Run npm install -g npm@10.1.0 to update! npm notice
set DYNAMO_ENDPOINT=http://localhost:8000
dynamodb-admin DYNAMO_ENDPOINT is not defined (using default of http://localhost:8000) database endpoint: http://localhost:8000 region: [aws configureで設定したregion] accessKey: [aws configureで設定したaccessKey] dynamodb-admin listening on http://:::8001 (alternatively http://0.0.0.0:8001) (node:26076) NOTE: We are formalizing our plans to enter AWS SDK for JavaScript (v2) into maintenance mode in 2023. Please migrate your code to use AWS SDK for JavaScript (v3). For more information, check the migration guide at https://a.co/7PzMCcy (Use `node --trace-warnings ...` to show where the warning was created)
http://localhost:8001にアクセスすることでテーブルを確認することができます。
以上です。