こんにちは、中の人です。
DynamoDBで取得したデータをNode.jsで取得して表示する準備として以下を紹介しておりました。
第1回 Node.jsインストール編
第2回 Nginxで80番ポートに変更編
今回はNode.jsに対してaws-sdkを追加して、DynamoDBからデータを取得してみます。
1. DynamoDB上にテーブルの作成します。
初めての方はこちらの記事をご参考に作成してください。
Amazon DynamoDB編~DynamoDBをはじめてみよう!パート①~
2. aws sdkのインストール
1 |
$ npm -g install aws-sdk |
3. node.js内にAWSのアカウント設定をします。
第1回目に作成したdashBoardというアプリケーション内に設定します。
dashBoard/config.json
1 2 3 4 5 |
{ "accessKeyId":"*********************", "secretAccessKey":"****************************************", "region":"ap-northeast-1" } |
dashBoard/app.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
var aws = require('aws-sdk'); aws.config.loadFromPath('./config.json'); var dynamodb = new aws.DynamoDB(); db.scan({TableName: "テーブル名", Select: "ALL_ATTRIBUTES", }, function (err, datas) { if(err){ console.log(error); }else if(datas ==null || datas.Count==0){ console.log(“no data”); }else{ console.log(datas); res.render('index', { title: title, datas: datas, start: start, end: end }) } }); |
4. nodeを起動させます。
1 |
$ npm start |
起動すると、console logとしてメッセージが表示されます。
エラーが表示される場合はどこかの記述、設定が間違えている可能性があるので見直します。
“no data”と表示される場合、正しく値を取得できておりますので、DynamoDBにデータを入れれば値を取得できます。
エラーがでなければ準備OKです。
次回は実際に取得したデータを画面上に表示させます。
お楽しみに!