aws lot을 사용하여 aws lambda에서 mqtt 프로토콜을 통해 데이터를 게시해야합니다. 나는 node.js 코드로 람다 함수를 만들었다. likeaws lambda에서 aws iot를 사용하여 mqtt 메시지를 게시하십시오.
exports.handler = (event, context, callback) => {
var awsIot = require('aws-iot-device-sdk');
var device = awsIot.device({
keyPath: 'samplepath/test.pem.key',
certPath: 'samplepath/test.crt',
caPath: 'samplepath',
clientId: 'sampleId',
region: 'us-east-1'
});
device
.on('connect', function() {
console.log('connected');
device.publish('test_topic', JSON.stringify({ "test_name": "hello", "test_value": 1001 }));
console.log('published successfully');
callback(null, 'item added');
});
}
나는 가입자의 mqtt 메시지를 받았다. 하지만 람다 생산 오류 메시지가이
Task timed out after 10.00 seconds
처럼 내가 context.succeed을 사용했다() 대신 콜백의, 람다가 제대로 종료됩니다. 구독자에게 어떤 메시지도 표시되지 않습니다.
콘솔의 경우 이 성공적으로 게시되었습니다. 메시지가 제대로 표시됩니다.
게시 코드와 관련된 문제점은 무엇입니까?