1

我是 Alexa 和 Nodejs 的新手。

我正在编写一个基于示例 nodejs 颜色 alexa 技能集的新 AWS lambda 函数,可以说 MySchedule 将由 Alexa 调用。

我正在尝试从 MySchedule lambda 函数调用另一个 AWS lambda 函数 MyTravelPlans。

谁能告诉我这怎么可能 - 1.我需要多个处理程序吗?如果是,我该如何拨打电话。2. 我可以在不编写处理程序的情况下调用 MyTravelPlans lambda 函数吗?如果是,任何示例来确保调用方法没有异步完成

4

1 回答 1

0

假设两个 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

于 2016-09-29T15:44:20.297 回答