簡単に触ってみます。
インストール
npm install aws-sdk
S3にアクセス
test.js
/* AWSオブジェクトを初期化します。 */ var AWS = require('aws-sdk'); /* アカウント情報やリージョンなどを設定します。 */ AWS.config.update({accessKeyId: 'xxxxxxxxxxxxx', secretAccessKey: 'yyyyyyyyyyyyyyyyyyyyyyy', region: 'ap-northeast-1'}); /* このようにしてもOKです。 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<data.Contents.length;i++){ console.log(data.Contents[i].Key); } } });基本的には、呼び出し→コールバックという一般的な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
Dynamoにアクセス
/* 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_1356091073919
AWSコンソールでみると
正常に登録されたことがわかります。
他にもEC2とSWFにアクセスできますが、他のサービスはまだまだこれからのようです。
今後に期待ですね。
以上です。