この記事は公開されてから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には対応していませんが今後に期待です。