少し遅くなりましたが、AWS SDK for Node.jsが出たので、今回はこれを簡単に触ってみようと思います。
○インストール
npm install aws-sdk
○S3にアクセス
・test.js
/* AWSオブジェクトを初期化します。 */ var AWS = require('aws-sdk'); /* アカウント情報やリージョン等を設定します。 */ AWS.config.update({accessKeyId: 'xxxxxxxxxxxxx', secretAccessKey: 'yyyyyyyyyyyyyyyyyyyyyyy', region: 'ap-northeast-1'}); /* このようにしても問題ありません。 AWS.config.loadFromPath('./credentials.json'); */ /* S3オブジェクトを作ります。 */ var s3 = new AWS.S3(); /* バケットのオブジェクト一覧を取得するには以下のようにします。 */ s3.client.listObjects({Bucket:"memorycraft-log"}, function(err,data){ if(err){ console.log(err); } else{
for(var i=0;i基本的には、呼び出し→コールバックという一般的なnode.jsの作法となります。
結果、以下のように正常に取得できました。# node test.js logs/ logs/20121221%3F--num-instances_$folder$ logs/20121221/ logs/20121221/ip-10-128-12-239-04_0.gz logs/20121221/ip-10-128-12-239-04_1.gz logs/20121221/ip-10-128-12-239-04_10.gz logs/20121221/ip-10-128-12-239-04_2.gz logs/20121221/ip-10-128-12-239-04_3.gz logs/20121221/ip-10-128-12-239-04_4.gz logs/20121221/ip-10-128-12-239-04_5.gz logs/20121221/ip-10-128-12-239-04_6.gz logs/20121221/ip-10-128-12-239-04_7.gz logs/20121221/ip-10-128-12-239-04_8.gz logs/20121221/ip-10-128-12-239-04_9.gz logs/20121221/ip-10-128-12-239-04_98.gz logs/20121221/ip-10-128-12-239-04_99.gz logs/20121221/ip-10-157-2-63-04_0.gz logs/20121221/ip-10-157-2-63-04_1.gz logs/20121221/ip-10-157-2-63-04_10.gz logs/20121221/ip-10-157-2-63-04_100.gz logs/20121221/ip-10-157-2-63-04_2.gz logs/20121221/ip-10-157-2-63-04_3.gz logs/20121221/ip-10-157-2-63-04_4.gz logs/20121221/ip-10-157-2-63-04_5.gz logs/20121221/ip-10-157-2-63-04_6.gz logs/20121221/ip-10-157-2-63-04_7.gz logs/20121221/ip-10-157-2-63-04_8.gz logs/20121221/ip-10-157-2-63-04_9.gz○DynamoDBにアクセス
/* AWSオブジェクトを初期化します。 */ var AWS = require('aws-sdk'); /* DynamoDBオブジェクトを作ります。 */ var ddb = new AWS.DynamoDB(); /* 投入するデータは以下のようにします。 */ var data = { id:{S:'msg_'+(new Date()).getTime()}, msg:{S:'hoge'}, datetime:{S:(new Date())} }; /* 投入します。 */ ddb.client.putItem({ TableName:'nodetest', Item:data }, function(err, res) { if(err){ console.log("Error [" + err.code + "] id=" + data.id.S); } else{ console.log("Done id=" + data.id.S); } });結果は以下のようになります。
# node test.js Done id=msg_1356091073919AWSコンソールで確認すると、正常に登録されたことがわかります。
他にもEC2とSWFにアクセスできますが、他のサービスはまだこれからのようです。
こちらの記事はなかの人(memorycraft)監修のもと掲載しています。
元記事は、こちら