仕事でAWS Lambdaを使うことになって苦戦してます.
LambdaからS3にアップロードされているjsonファイルを取得するやつ.
結構単純なんですがAWS触っていなかったせいで悩んじゃいました.
以下ソース.
var aws = require('aws-sdk');
aws.config.region = 'ap-northeast-1';
var bucket = 'bucketName';
var s3 = new aws.S3();
exports.handler = function(event, context) {
var params = {
Bucket: bucket,
Key: 'sample.json'
};
s3.getObject(params, function(err, data) {
if (err) {
console.log(err, err.stack);
} else {
var object = JSON.parse(data.Body.toString());
console.log(object);
}
});
}
bucketNameはファイルの配置されているバケット名,Keyはそのファイルのパス(ディレクトリ直下ならそのまま)という感じです.
テスト実行して
Task timed out after 3.00 seconds
って出たらタイムアウトまでの時間を伸ばすとうまくいくはず.
こう見ると単純ですね.
参考にさせていただいたサイト
ほぼほぼこちらのソースです.ありがとうございました
S3上のjsonをnode.jsで読み込む | ハックノート
Task timed out after 3.00 secondsの対処法 | ハックノート
この本分厚いですが基礎的なところ抑えられててよかったです.
コメント