【发布时间】:2019-07-01 05:31:52
【问题描述】:
如何在 Lambda 函数中调用 Lambda 函数?
例如,
在函数1中,它将由API网关请求触发,并将调用第二个lambda函数作为事件(InvocationType = Event)。
在函数2中,它将向端点发出http请求。
另外,我要在 serverless.yml 中编码吗?还是仅在 index/app/handler.js 上编码?
我在 stackoverflow 上尝试了这里的链接 -> Nodejs - Invoke an AWS.Lambda function from within another lambda function 但它不起作用。
var AWS = require('aws-sdk');
AWS.config.region = 'eu-west-1';
var lambda = new AWS.Lambda();
//LAMBDA A
exports.handler = function(event, context) {
var params = {
FunctionName: 'Lambda_B', // the lambda function we are going to invoke
InvocationType: 'RequestResponse',
LogType: 'Tail',
Payload: '{ "name" : "Yza" }'
};
lambda.invoke(params, function(err, data) {
if (err) {
context.fail(err);
} else {
context.succeed('Lambda_B said '+ data.Payload);
}
})
};
//LAMBDA B
exports.handler = function(event, context) {
console.log('Lambda B Received event:', JSON.stringify(event, null, 2));
context.succeed('Hello ' + event.name);
};
【问题讨论】:
标签: javascript node.js amazon-web-services aws-lambda invoke