DynamoDBに保存したデータをNode.jsで取得して表示してみた~Node.jsでデータ表示編~

こんにちは、中の人です。

DynamoDBで取得したデータをNode.jsで取得して表示する準備として以下を紹介しておりました。

第1回  Node.jsインストール編

第2回  Nginxで80番ポートに変更編

第3回  DynamoDBへの接続編

今回はDynamoDBから取得したデータをNode.js上に表示させます。

1. dashBoard/app.jsに追記した内容の削除

前回の設定で接続確認できたので、app.jsから削除します。

  1. dashBoard/routes/index.jsの編集し、DynamoDBで取得した値をviewに渡します。
1var express = require('express');2var router = express.Router();34var aws = require('aws-sdk');5aws.config.loadFromPath('./config.json');6var dynamodb = new aws.DynamoDB();78router.get('/', function(req, res) {9    dynamodb.scan({TableName: "テーブル名",10        Select: "ALL_ATTRIBUTES",11    }, function (err, datas) {12      res.render('index', { title: “タイトル”, datas: datas })13    });14});
  1. View側で受け取った時の処理を追加します。
1dashBoard/views/index.js2<% for ( var key in datas ) {3    for ( var key2 in datas[key] ) { 4        for ( var key3 in datas[key][key2] ) {5            for ( var key4 in datas[key][key2][key3] ) { 6            %>7                <%= datas[key][key2][key3][key4] %>8            <% 9            }10        } 11    }12} %>
  1. nodeを再起動させます。
1$ npm start

起動してブラウザにアクセスするとExpressのデフォルト画面の下にDynamoDBのテーブルの値が表示されます。

後はフォーマット等を加工することでグラフ表示や表に対する出力を行うことが出来ます。

いかがでしたでしょうか?

DynamoDBの高速なKVSと使い勝手良くノンブロッキングI/OであるNode.jsを組み合わせる事で複雑な表などを高速に表示することが出来ます。

次回をお楽しみに!

この記事を書いた人

aws-recipe-user