2016-09-29 3 views
1

Я новичок и для Alexa & Nodejs.Alexa SDK - Alexa Вызывает функцию лямбда AWS, которая вызывает другую функцию лямбда

Я пишу новую функцию лямбда-функции AWS, основанную на наборе навыков набора объектов nodejs alexa, позволяет говорить о расписании, которое будет вызываться Alexa.

Я пытаюсь вызвать другую функцию лямбда AWS MyTravelPlans из функции лямбда MySchedule.

Может кто-нибудь, пожалуйста, дайте мне знать, как это возможно - 1. Нужно ли мне несколько обработчиков? Если да, как мне позвонить. 2. Могу ли я назвать функцию лямбда MyTravelPlans без написания обработчика? Если да, то какой-либо пример, чтобы убедиться, что метод invoke не выполняется asynchronosly

ответ

0

Предполагая, что оба лямбда имеют ту же роль, вы можете вызвать одну лямбду от другой, используя aws-sdk.

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 консоли управления). Наконец, в качестве примечания, я знаю, что вы спрашиваете конкретно о синхронной работе, но популярной альтернативой для лямбда-лямбда-связи является использование sns

Смежные вопросы