IOT-HUB 设备 node.js sdk message.on 方法无效

IOT-HUB device node.js sdk message.on method is not working

一旦事件将通过设备 Node.JS sdk 从设备发送到 Cloud IOT-HUB,一旦在 IOT-Hub 上收到消息,同样需要向 nodejs 确认。 我们发现了几个关于相同的参考,下面提到的方法应该适用于相同的方法。

client.on('message', function(msg) {
                console.log('Received Message from IoT Hub: ' + msg.data);
                client.complete(msg, printResultFor('completed'));
                // We are done here
            });

但是这个方法在任何情况下都不会触发。 请提出建议。

你对问题的描述和你的代码行不一致。

Once the Event will be sent to Cloud IOT-HUB from Device thru Device Node.JS sdk, once message is received on IOT-Hub same needs to be acknowledged to nodejs.

它正在谈论 IoT 中心收到的 D2C 消息。

client.on('message', function(msg) {
                console.log('Received Message from IoT Hub: ' + msg.data);
                client.complete(msg, printResultFor('completed'));
                // We are done here
            });

但是说的是在设备客户端接收C2D消息。

要触发此方法client.on,您需要从 IoT 中心服务器端发送 C2D 消息。出于测试目的,您可以简单地从 Azure 门户或 IoT Hub Device Explorer tool:

发送 C2D 消息

如果您运行这个示例:simple_sample_device.js您将收到这样的D2C消息(我将这一行console.log('client.on triggered!!!');添加到示例代码中):