node.jsからAmazon DynamoDBへ繋げる
node.jsからDynamoDBへのアクセス方法
node.jsからDynamoDBへアクセスする方法はいくつかあります。それぞれどのようにアクセスするのか試してみましょう。
dynode
dynodeは、node.jsからDynamoDB操作するライブラリです。
早速使ってみましょう。
$ npm install dynode $ vi app1.js
東京リージョンを指定してテーブルを作成しています。ソースは以下です。
var dynode = require('dynode'); dynode.auth({ accessKeyId:"XXXXXXXXXXXXXXX", secretAccessKey:"XXXXXXXXXXXXXXX", host:"dynamodb.ap-northeast-1.amazonaws.com"}); var opts = {read: 5, write: 5, hash: {name: String}, range: {age: Number}}; dynode.createTable("person", opts, console.log);
実行してみます。
$ node app1.js null { TableDescription: { CreationDateTime: 1339825555.43, KeySchema: { HashKeyElement: [Object], RangeKeyElement: [Object] }, ProvisionedThroughput: { ReadCapacityUnits: 5, WriteCapacityUnits: 5 }, TableName: 'person', TableStatus: 'CREATING' } }
短いコードで簡単に接続できました!管理コンソールからも確認できます。
dynamo
dynamoは、node.jsからDynamoDB操作するライブラリです。
早速使ってみましょう。
$ npm install dynamo $ vi app2.js
東京リージョンを指定してテーブル一覧を取得しています。ソースは以下です。
var dynamo = require('dynamo'); var client = dynamo.createClient({ accessKeyId:"XXXXXXXXXXXXXXX", secretAccessKey:"XXXXXXXXXXXXXXX" }); var db = client.get('ap-northeast-1'); db.fetch(function(err) { if (err) return console.error(err) var tableCount = Object.keys(db.tables).length console.log("This database has %s tables.", tableCount) })
実行してみます。
$ node app2.js This database has 1 tables.
短いコードで簡単に接続できました!
まとめ
node.jsを使ってDynamoDBにアクセスするのはとても簡単です。AWSオフィシャルSDKではありませんが、かなり短いコードでアクセスして操作することができます。IAM Roleには対応していませんが今後に期待です。