2016-07-28 84 views
0

请帮助,我需要在lambda函数中使用mqtt协议将一些数据发送给代理。 我用简单的代码来测试它:AWS中的MQTT用于Alexa Javascript的Lambda函数

mqtt = require('mqtt'); 
var client = mqtt.connect('mqtt://test.mosquitto.org'); 

client.on('connect', function() { 
    client.subscribe('presence'); 
    client.publish('presence', 'Hello mqtt'); 
}); 

client.on('message', function (topic, message) { 
    // message is Buffer 
    console.log(message.toString()); 
    client.end(); 
}); 

但我得到一个错误“无法找到模块‘MQTT’”,我怎么能包括lambda函数这个模块???我怎样才能在我的lambda中使用mqtt?有人???

+0

我们在这里需要更多的上下文,我们在谈论nodejs吗?如果是的话,你安装了mqtt npm模块吗? – hardillb

+0

是的,node.js和我已经安装了mqtt npm。 – Suki

+0

更新问题,详细说明npm如何安装mqtt模块,以及您在哪里执行上面列出的代码。错误意味着mqtt模块未安装在需要的地方 – hardillb

回答

2

首先你会做你的项目的目录:

npm install mqtt --save 

后,你将压缩这个文件夹(文件夹里面,文件和子目录),并上传到您的lambda表达式。

每次你必须创建一个处理函数,所以您将创建这样一个功能:在AWS的面板,您将委派到该文件,并且您使用的功能,您的lambda函数

exports.handler = function (event, context, callback) { 
... your code... 

} 

Handler文本字段。

+0

tnx男人它现在的作品。 obrigada – Suki

+1

@Suki不客气,不要忘记upvote答案。 –