我试图获取调用的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的总和,但它没有工作。
答案 0 :(得分:0)
注意:整数和浮点数与JSON.stringify()不兼容。
使用您的数据创建一个json对象,作为第二个参数传入您的回调函数。
data = {"sum" : sum};
callback(null, data);
<强>参考:强>
- error - 是一个可选参数,可用于提供结果 失败的Lambda函数执行。当一个Lambda函数 成功后,您可以传递null作为第一个参数。
- 结果 - 是一个 可用于提供结果的可选参数 成功的功能执行。提供的结果必须是 JSON.stringify兼容。如果提供了错误,则此参数为 忽略。
- AWS文档:Using the Callback Parameter