aws lambdaからawq iotを使用してmqttプロトコルまでのデータを公開する必要があります。私はnode.jsコードでラムダ関数を作成しました。このようにaws 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()を使用しました。ラムダは正常に終了しました。私は加入者のメッセージを取得できません。
いずれの場合も、コンソールプリントが正常に公開されました。メッセージが正しく表示されます。
公開コードに関連する問題は何ですか?