假设两个 lambda 具有相同的角色,您可以使用 aws-sdk 从另一个 lambda 调用。
var aws = require('aws-sdk');
aws.config.region = 'us-east-1'; //or whatever your region
var lambda = new aws.Lambda();
var params = {
FunctionName: 'MyTravelPlans' //name of lambda
InvocationType: 'RequestResponse', //Event | RequestResponse | DryRun
Payload: '{ "data" : "hello" }'
};
lambda.invoke(params, function(err, data) {
if (err) {
context.fail(err);
} else {
context.succeed('response from My Travel Plans '+ data.Payload);
}
})
您需要确保的事情是您已将所有适当的策略附加到您的角色(在 IAM 管理控制台中)。最后,作为旁注,我知道您专门要求同步操作,但是 lambda 到 lambda 通信的一种流行替代方法是使用sns