从后端系统读取Azure IoT Hub消息

时间:2017-08-03 08:39:34

标签: java azure sdk backend azure-iot-hub

目前我正在尝试阅读Azure IoT Hub中的消息,而不使用azure流分析。我们的后端系统应该阅读来自Iot Hub的消息,我们不会使用事件中心。

在我通过azure文档(https://github.com/Azure/azure-iot-sdk-java)进行研究期间,我找到了一个java iot sdk,但是没有样本,只是"只是"读取消息。他们总是将消息路由到服务总线或其他东西。

是否有任何解决方案,在没有路由消息的情况下读取IoT Hub中的后端系统消息?

谢谢!

4 个答案:

答案 0 :(得分:1)

事件主机处理器(EHP)是从IOT Hub读取消息的方法。基本上IOT Hub是旧的azure事件中心的包装器(尽管事件中心仍然是azure中的独立组件)。您可以使用EHP事件接收IOT Hub的消息。

其他选项是通过设备主题读取数据。以下是更多信息:https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-mqtt-support

答案 1 :(得分:0)

https://docs.microsoft.com/azure/iot-hub/iot-hub-java-java-process-d2c上有一个教程,介绍了从IoT Hub读取设备到云消息的几种方法。

IoT Hub可以通过一个或多个面向服务的端点向您的后端应用提供设备到云的消息。默认面向服务的端点与Event Hubs兼容,因此您可以使用任何可与事件中心通信的内容(例如Event Processor Host或流分析)来阅读这些消息。

IoT Hub内的路由允许您将设备到云的消息路由到备用端点(例如服务总线队列或主题):https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messages-read-custom

答案 2 :(得分:0)

您可以在Azure Lite-Stream管道中使用Azure功能,如以下屏幕截图所示:

LiteStreamPipeline

答案 3 :(得分:0)

我可以推荐带有事件中心触发器(以C#,F#或JavaScript编写)的Azure Function应用程序,该应用程序可以接收发送到Azure IoT中心的所有消息:

enter image description here

您可以将此触发器与Azure IoT中心连接:

enter image description here

enter image description here

我已经在我的项目中应用了这种方法-我在下面附加了架构。 Azure Function App通过事件中心触发器与Azure IoT中心连接。 IoT中心收到任何数据后,会将其传递到功能应用程序。然后,将这些数据保存在Azure表存储中:

enter image description here

我在文章中介绍了逐步集成过程-请参阅 Azure Function IoTHubTrigger 部分:

https://daniel-krzyczkowski.github.io/Motion-detector-automatic-SMS-alerts/

有一个指向另一个项目的链接,该链接提供了完整的解决方案,该方法介绍了如何从IoT中心读取数据,将数据保存在表存储中以及如何通过后端API检索数据:

https://daniel-krzyczkowski.github.io/Micrososft-Azure-Sphere-connected-with-Azure-cloud-services/