使用AWS IoT调用AWS Lambda并返回结果

时间:2017-01-25 08:22:54

标签: node.js amazon-web-services lambda aws-iot

我试图获取调用的Lambda函数的结果。我使用AWS IoT调用它,并且不知道如何将消息传回AWS IoT。

为此我做了一个小的Node.js代码,它只添加了两个数字,并且应该使用回调返回结果。该函数被正确调用,因为它将总和写入CloudWatch。

总而言之,我的问题是如何才能将我的结果反馈给AWS IoT?我是否已经通过回调来解决这个问题,我该如何访问它?我是AWS的新手,并且不能正确理解回调逻辑。

这是我的Lambda功能代码:

 
'use strict'

exports.handler = (event, context, callback) => {

let number1 = event.number1;
let number2 = event.number2;

let sum = number1 + number2; 

console.log('Sum: ' + sum);

callback(null, sum);

};

P.S。我已经尝试了JSON.stringify的总和,但它没有工作。

1 个答案:

答案 0 :(得分:0)

注意:整数和浮点数与JSON.stringify()不兼容。

使用您的数据创建一个json对象,作为第二个参数传入您的回调函数。

data = {"sum" : sum};
callback(null, data);

<强>参考:

  
      
  • error - 是一个可选参数,可用于提供结果   失败的Lambda函数执行。当一个Lambda函数   成功后,您可以传递null作为第一个参数。
  •   
  • 结果 - 是一个   可用于提供结果的可选参数   成功的功能执行。提供的结果必须是   JSON.stringify兼容。如果提供了错误,则此参数为   忽略。
  •   
     

- AWS文档:Using the Callback Parameter