我有一个用例,我需要将文件从Azure blob位置下载到在IoT Hub注册的IoT设备。
在这种情况下,我将向IoT Device(通过IoT Hub)发送指令,将文件从Azure blob位置下载到机器上的特定目的地(IoT Device app正在运行的地方)。
这些指令将使用后端(定制)应用程序通过IoT Hub发送。
我只想知道Azure IoT Hub目前是否支持这个功能,我可以直接使用到IoT设备应用程序中(通过使用Azure IoT API)。
任何参考资料都会有帮助。
谢谢,
阿维纳什·德什穆赫
是的,当然。如我所知,您可以生成带有SAS令牌的Azure Blob文件的url,将其作为云到设备消息从IoTHub发送,然后从IoT设备接收,并通过带有SAS令牌的文件url直接在IoT设备上下载文件。
作为参考,你可以参考这些官方文件来尝试实现它。
使用。NET创建帐户SAS
。如果您正在使用Java,我认为使用Azure Storage SDK for Java编写Java程序非常简单。使用IoT Hub(Java)
发送云到设备消息。device-receive device Bound notification
。或者您可以通过搜索关键字d2c
来参考示例代码sendreceive.java
的部分,以了解如何从IoT Hub检索消息。希望有帮助。
是的,您可以通过使用azure cloud设备消息来实现。在Data参数中,您可以直接传递blob对象url,但要确保它属于正确的安全组。您可以阅读文章https://docs.microsoft.com/en-us/azure/iot-Hub/iot-Hub-devguide-messages-c2d