2016-07-28 4 views
0

도움을 받으려면 람다 함수에서 mqtt 프로토콜을 사용하여 브로커에 데이터를 보내야합니다. 나는 그것을 테스트하는 간단한 코드를 사용Alexa Javascript 용 AWS Lambda 함수의 MQTT

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를'모듈을 찾을 수 없습니다"를 얻을, 내가 어떻게 람다 함수에서이 모듈을 포함 할 수있다 ??? 어쨌든 내 람다에서 mqtt를 어떻게 사용할 수 있습니까 ?? 어떤 사람???

+0

여기에 더 많은 컨텍스트가 필요합니다. nodejs를 말하고 있습니까? 그렇다면 mqtt npm 모듈을 설치 했습니까? – hardillb

+0

예, node.js와 mqtt npm을 설치했습니다. – Suki

+0

nq가 mqtt 모듈을 설치 한 방법과 위치 및 위에서 나열한 코드를 실행하는 방법과 위치에 대한 세부 정보로 업데이트하십시오. 오류는 mqtt 모듈이 어디에 설치되어 있지 않은지 의미합니다. – hardillb

답변

2

먼저 프로젝트의 디렉토리에 할 것입니다 :이 폴더 (폴더 안에있는 파일 및 하위 디렉토리)를 압축하고 람다 함수에 업로드 한 후

npm install mqtt --save 

합니다.

때마다 당신은 핸들러 함수를 작성해야합니다, 그래서 당신은이 같은 함수를 작성합니다 : 파일과 당신이 사용하는 함수에 임명됩니다 AWS 패널에서 귀하의 람다 함수에

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

} 

Handler 텍스트 필드.

+0

tnx man 이제 작동합니다. obrigada – Suki

+1

@Suki 오신 것을 환영합니다. 답을 잊지 마세요. –