【问题标题】:Alexa SDK - Alexa Invoke a AWS lambda function which invokes another lambda functionAlexa SDK - Alexa 调用一个 AWS lambda 函数,该函数调用另一个 lambda 函数
【发布时间】:2016-09-29 23:44:20
【问题描述】:

我是 Alexa 和 Nodejs 的新手。

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

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

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

【问题讨论】:

    标签: node.js alexa alexa-skills-kit alexa-skill


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-06-09
      • 2022-12-05
      • 2019-06-28
      • 2017-01-01
      • 2018-05-19
      • 1970-01-01
      相关资源
      最近更新 更多