LambdaからS3にあるjsonファイルを取得 node.js編

仕事で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の対処法 | ハックノート

はてなブログにソースコードを貼り付ける方法 - くりにっき

この本分厚いですが基礎的なところ抑えられててよかったです.

コメント

タイトルとURLをコピーしました