我将代码放入不同的模块中:
.....
var util = require('util');
var s3 = new AWS.S3();
exports.perform_flatten = function(event, context) {
.......
CONTEXT = context;
s3_helper.get_object(SRC_BUCKET, SRC_KEY, this.flatten);
};
this.flatten 是对同一文件中模块的回调
exports.flatten = function(data){
.......
s3.putObject({Bucket: dst_bucket, Key: dst_key, Body: buffer}, function(err, data) {
if (err){
console.log(err, err.stack); // an error occurred
}else{
console.log(data); // successful response
CONTEXT.done();
}
});
}
代码运行完美,直到到达这一行CONTEXT.done();
。
然后我得到错误:undefined is not a function
我不懂为什么?特别是因为我相信我将 CONTEXT 声明为全球性的权利?
我必须打电话context.done()
才能在亚马逊上执行 Lambda 函数。http://docs.aws.amazon.com/lambda/latest/dg/programming-model.html谢谢