Azure IoT 中心 - 使用 IoT 中心将文件从 Azure blob 下载到 IoT 设备

Azure IoT Hub - Downloading file from Azure blob using IoT Hub to an IoT device

我有一个用例,我需要将文件从 Azure blob 位置下载到在 IoT 中心注册的 IoT 设备。

在这种情况下,我将向 IoT 设备发送指令(通过 IoT 中心)以将文件从 Azure blob 位置下载到计算机上的特定目标(IoT 设备应用程序是 运行) .

这些说明将使用后端(自定义)应用程序通过 IoT 中心发送。

只是想知道 Azure IoT Hub 目前是否支持我可以直接在 IoT 设备应用程序中使用的这个工具(通过使用 Azure IoT API)。

任何参考都会有所帮助。

谢谢,

Avinash Deshmukh

是的,当然。据我所知,您可以生成一个 url 的 Azure Blob 文件及其 SAS 令牌,将其作为云到设备的消息从 IoTHub 发送,然后从 IoT 设备接收它并通过该文件下载文件url 直接在 IoT 设备上使用 SAS 令牌。

作为参考,你可以参考这些官方文档来尝试实现。

  1. 要使用 SAS 令牌生成 blob url,请参阅 Create an account SAS with .NET。如果您使用的是 Java,我认为使用 Azure Storage SDK 为 Java 编写 Java 非常简单。
  2. 要从 IoTHub 发送云到设备的消息,请参阅 Send cloud-to-device messages with IoT Hub (Java)
  3. 要在设备上接收 c2d 消息,所有语言的 REST API 都是 Device - Receive Device Bound Notification. Or you can refer to the part of sample code SendReceive.java 通过搜索关键字 D2C 以了解如何从 IoT 中心检索消息。
  4. 如果您必须从设备上的 IoT 中心获取带有 SAS 令牌的 blob url,我认为您从 public link 下载文件并不难。

希望对您有所帮助。

是的,您可以通过使用 azure 云到设备来做到这一点 messaging.in 您可以直接传递 blob 对象的数据参数 url 但要确保它属于正确的安全组。 可以关注文章https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-messages-c2d