我将代码放入不同的模块中:
.....
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()
才能在Amazon上执行Lambda函数。 http://docs.aws.amazon.com/lambda/latest/dg/programming-model.html感谢