我是Alexa和他的新手的NodeJS。
我正在编写一个基于示例nodejs颜色的新的AWS lambda函数颜色alexa技能集让我们说MySchedule将由Alexa调用。
我试图从MySchedule lambda函数调用另一个AWS lambda函数MyTravelPlans。
任何人都可以告诉我这是怎么可能的 - 1.我需要多个处理程序吗?如果是,我该如何拨打电话。 2.我可以在不编写处理程序的情况下调用MyTravelPlans lambda函数吗?如果是,则确保调用方法不是异步执行的任何示例
答案 0 :(得分:0)
假设两个lambda具有相同的角色,您可以使用aws-sdk从另一个lambda调用一个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-to-lambda通信的一个流行的替代方法是使用sns