2016-07-28 85 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答案。 –