Azure IOT集线器可用于从某些设备读取(获取)数据吗?

时间:2018-04-11 23:12:23

标签: azure iot azure-iot-hub

在我的情况下,我有1000多个存储活动的设备。我需要向此设备发送一个http get请求以获取csv或json格式的数据并将其保存在Azure上托管的存储中。 Cab IOT集线器需要使用get请求的数据,是否可以安排每天/每周阅读? 您会建议使用哪些其他天蓝色服务来促进此预定读取?

3 个答案:

答案 0 :(得分:2)

您尚未提及使用Azure IoT Hub比例层的内容。基本上有两个价格组,例如 Basic Standard ,具有显着不同的成本和功能。 Basic层仅为设备和Azure IoT Hub之间的单向通信提供服务。

基于此,以下方案可用于您的业务案例:

1。基本层(非事件驱动的解决方案) 设备根据Azure IoT Hub的需要定期推送远程和非遥测消息,其中非遥测消息通过服务总线队列/主题路由到Azure功能。这种非遥测管道的责任是在数据库中保持真实的设备状态。请注意,6M消息的费用仅为每月50美元。后端应用程序可以随时查询此数据库中的设备状态。

2。标准层(事件驱动的解决方案)在此方案中,您可以使用Azure IoT Hub的Device Twin来实现在云后端存储实际设备状态(由@HelenLo描述)。可以通过C2D消息触发设备,更改所需属性,调用方法或基于设备边缘触发器来更新状态(报告的属性)。 Azure IoT Hub具有为多个设备运行预定jobs的功能 在此解决方案中,后端应用程序可以随时调用 ExportDevicesAsync 的作业到blob存储,请参阅更多详细信息here。请注意,6M消息的费用为每月250美元。

正如您所看到的,上述每个场景都需要根据设备与Azure IoT Hub之间的通信功能构建不同的设备逻辑模型。请注意,这些通信存在一些限制,请参阅更多详细信息here

答案 1 :(得分:0)

您可以考虑使用IoT Hub的Device Twin https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-device-twins

使用设备双胞胎:

  • 在云中存储特定于设备的元数据。例如,自动售货机的部署位置。
  • 从您的设备应用报告当前状态信息,例如可用功能和条件。例如,设备通过蜂窝或WiFi连接到您的IoT集线器。
  • 在设备应用和后端应用之间同步长时间运行的工作流的状态。例如,当解决方案后端指定要安装的新固件版本时,设备应用程序会报告更新过程的各个阶段。
  • 查询您的设备元数据,配置或状态。

答案 2 :(得分:0)

IoT Hub使您能够通过各种协议连接设备。首选协议是消息传递协议,例如MQTT或AMQP,但也支持HTTPS。但是,使用IoT中心,您不会从设备请求数据。设备会将数据发送到IoT Hub。您必须选择使用IoT Hub实现该目的:

  • 只要有数据要发送,设备就会连接到IoT Hub,并将数据推送到IoT Hub
  • 设备本身不会发送任何数据,但始终或至少定期连接到IoT Hub。然后,您可以通过IoT Hub将设备消息发送到设备,请求发送数据。然后,设备以与第一个选项相同的方式发送数据。

当数据发送到IoT Hub时,您需要将其推送到持久存储的位置 - IoT Hub默认情况下仅将消息保留1天。选项包括:

  • 创建一个blob存储帐户并使用custom endpoint直接从物联网中心推送到该帐户。这可能是最简单和最便宜的。根据您需要如何访问数据,blob可能不是最佳选择,但
  • 创建一个功能应用程序,使用EventHubTrigger创建一个函数,将其连接到IoT Hub并让该函数通过将其输出到任何类型的数据接收器来处理传入数据,例如SQL,CosmosDB,Table Storage ...