
node.jsからAmazon DynamoDBへ繋げる
2012.06.17
この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
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には対応していませんが今後に期待です。










