刀科の技術学習ブログ

アプリサイドから、web系フロント・バックとAWSによるインフラ領域へ学習を進めていきます。

【node.js】DynamoDB Localにアクセスする

DynamoDB Localの実行方法については、いろんなところに情報が出てるのでここでは省きます。

モノを公式から落としてきて、jarを実行して”http://localhost:8000/shell/”にアクセスできることを確認する。
無事にDynamoDB JavaScript Shellの画面が表示されたら、今回の目的であるnode.jsからDynamoDBLocalとやり取りします。

var db: AWS.DynamoDB = new AWS.DynamoDB({ endpoint: new AWS.Endpoint('http://localhost:8000') });
db.scan(params, function(err, data) {
    if (err) console.log(err);
    else console.log('data.Count: ' + data.Count);
});

このように、AWS.EndpointのURLをブラウザでアクセスしたものに合わせます。

ついでにDynamoDB Localのアクセスキーを何も設定しなかった場合に、下記のような名前のDBファイルが生成される
・cUniqueSessionID_us-west-2
アンダーバーより左側がアクセスキー部分に相当し、右側がリージョン文字列という具合のファイル名。

設定ファイルには

{ "accessKeyId": "cUniqueSessionID, "secretAccessKey": "何でもいい","region":"us-west-2" }

こんな感じで書き込み、
AWS.config.loadFromPath('./credentials.json');
とか配置したパスで読み込めばよい。

あとはscanとか、putItemとか色々やって遊べる。