AWS LambdaでS3にアップロードしたときに、ログ出力するようなnode.jsをアップしたのですが、
Cannot find module 'async'
となってしまいます。このエラー自体は当然だと思うのですが、asyncはどこのコンソールからinstallすればいいのでしょうか。
lambda専用のconsoleがあるのでしょうか。
javascript
1var async = require('async'); 2var AWS = require('aws-sdk'); 3var s3 = new AWS.S3(); 4 5 6// ここに処理内容を記述します。 7exports.handler = function(event, context) { 8 9 // Bucket名とアップロードされた対象のパスを取得 10 var Bucket = event.Records[0].s3.bucket.name; 11 12 // ここにバケット名以下のファイルパスが入ります。 13 // バケット直下であれば、test.json、階層構造があれば/test1/test.json 14 var srcKey = event.Records[0].s3.object.key; 15 16 console.log("srcKey is " + srcKey); // 出力してみる。 17 18 19 // ここからファイルを読み込み、新しいファイルを出力します。 20 async.waterfall([ 21 function(callback){ 22 console.log("ファイル読み込みを開始"); 23 24 var params = { 25 Bucket: Bucket, 26 Key: "読み込むファイル名を記述" 27 }; 28 29 s3.getObject(params, function(err, data){ 30 31 // 読み込んだ内容は下記の記述で取得できます。Bodyの中にいます。 32 var str = data.Body.toString(); 33 34 // この後になにかしらの処理をいれます。 35 // 次の処理へ進むためにcallbackを記述します。 36 callback(null, "次へ渡す値があれば、ここに入れます。"); 37 }) 38 }, 39 function(arg1, callback){ 40 console.log("ファイル出力開始"); 41 var params = { 42 Bucket: Bucket, 43 Key: test.txt, 44 Body: test 45 }; 46 47 // ファイルを出力します。 48 s3.putObject(params, function(err, data){ 49 if(err) throw err; 50 callback(null, "データを追加しました。"); 51 }); 52 } 53 ],function(err, results){ 54 if(err) throw err; 55 console.log("全ての処理が完了しました。 " + results); 56 }); 57
回答1件
あなたの回答
tips
プレビュー