7
我需要异步调用另一个lambda的aws lambda。我有一个同步调用的工作代码。异步调用另一个lambda的aws lambda
exports.handler = (event, context, callback) => {
var aws = require('aws-sdk');
var lambda = new aws.Lambda({
region: 'myregion' //change to your region
});
console.log("lambda invoke started");
lambda.invoke({
FunctionName: 'testLambda',
Payload: JSON.stringify(event, null, 2) // pass params
}, function (error, data) {
if (error) {
console.log("error");
callback(null, 'hello world');
}
else {
console.log("lambda invoke end");
callback(null, 'hello world');
}
});
}
但在我的情况下,'testLambda'是一个耗时的函数。因为我需要在调用'testLambda'函数后退出。然后代码更新像这样
exports.handler = (event, context, callback) => {
var aws = require('aws-sdk');
var lambda = new aws.Lambda({
region: 'myregion' //change to your region
});
console.log("lambda invoke started");
lambda.invoke({
FunctionName: 'testLambda',
Payload: JSON.stringify(event, null, 2) // pass params
});
console.log("lambda invoke end");
callback(null, 'hello world');
}
它正确返回消息。但是我的'testLambda'函数没有被调用(没有为测试lambda生成云监视日志)。这个代码有什么问题。
感谢mark。它的工作。 –