Azure IoT 中心:通过浏览器端 javascript API 检索消息

And*_*rei 4 azure azure-iot-hub

您是否知道是否可以使用 Microsoft Azure 和 IoT Hub 以及在浏览器中运行的 javascript 客户端(即无节点 js)来检索设备到云的消息?

我的理解是目前这是不可能的,但我想确保(即所有当前的 API 只能在服务器端工作)。

Edit1:REST API 可能是尝试这样做的明显选择;但是,通过手动请求尝试了这些 API 后,响应似乎没有提供 allow-access-control-origin 标头,因此由于 CORS,我无法从 ajax 调用它们。

Sne*_*zry 5

更新: Azure IoT Hub 团队要求删除示例代码,他们不喜欢用户从浏览器连接到 IoT Hub ( https://github.com/Azure/azure-iot-sdk-node/issues/112 #issuecomment-338073636)。

很抱歉此答案中的链接断开。


这似乎是一个古老的问题,但是,我发现仍然没有人可以给出正确的答案。

简而言之,有没有办法在浏览器中读取 IoT Hub D2C 消息?答案是肯定的!

您不应该使用 RESTful API 来循环检查消息,而应该使用 AMQP over WebSockets。

在开始之前,您必须知道 IoT Hub 有两个方面,设备端和服务端。对于设备端,您可以使用 HTTP、AMQP 和 MQTT 连接到 IoT 中心,但是,对于服务端,您只能使用 AMQP 连接到 IoT 中心。

幸运的是,Red Hat 已经写了一个 AMQP over WebSockets Node 模块,你可以做一些简单的工作让它在浏览器中工作。

您可以从https://github.com/grs/rhea了解有关 AMQP 节点模块的更多信息。

此外,我们还制作了一个用于接收 D2C 消息的基于 Web 的工具https://iotdevtool.com/service/,您可以从https://blogs.msdn.microsoft.com/zhiqing/2017/03/了解有关它的更多信息16/connect-to-azure-event-hub-in-browser-using-amqp-over-websockets/