少し遅くなりましたが、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_1356091073919

AWSコンソールで確認すると、正常に登録されたことがわかります。

他にもEC2とSWFにアクセスできますが、他のサービスはまだこれからのようです。

こちらの記事はなかの人(memorycraft)監修のもと掲載しています。
元記事は、こちら