簡単に触ってみます。
インストール
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にアクセスできますが、他のサービスはまだまだこれからのようです。
今後に期待ですね。
以上です。
