提问者:小点点

Azure IoT Hub-使用IoT Hub从Azure blob下载文件到IoT设备


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

在这种情况下,我将向IoT Device(通过IoT Hub)发送指令,将文件从Azure blob位置下载到机器上的特定目的地(IoT Device app正在运行的地方)。

这些指令将使用后端(定制)应用程序通过IoT Hub发送。

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

任何参考资料都会有帮助。

谢谢,

阿维纳什·德什穆赫


共2个答案

匿名用户

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

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

  1. 要使用SAS令牌生成blob url,请参阅使用。NET创建帐户SAS。如果您正在使用Java,我认为使用Azure Storage SDK for Java编写Java程序非常简单。
  2. 要从IoTHub发送云到设备消息,请参阅使用IoT Hub(Java)发送云到设备消息。
  3. 要在设备上接收c2d消息,所有语言的REST API都是device-receive device Bound notification。或者您可以通过搜索关键字d2c来参考示例代码sendreceive.java的部分,以了解如何从IoT Hub检索消息。
  4. 如果您必须从设备上的IoT Hub获取带有SAS令牌的blob url,我认为从公共链接下载文件并不难。

希望有帮助。

匿名用户

是的,您可以通过使用azure cloud设备消息来实现。在Data参数中,您可以直接传递blob对象url,但要确保它属于正确的安全组。您可以阅读文章https://docs.microsoft.com/en-us/azure/iot-Hub/iot-Hub-devguide-messages-c2d