首页 > 解决方案 > 使用 IoT Hub 文件上传通知作为 Webjob 触发事件

问题描述

我正在开发 IoT 项目,我们使用 Azure IoT 中心进行设备通信。我们需要将文件从 IoT 设备上传到云端。因此,我开始分析 IoT Hub 的文件上传功能(IoT hub 文件上传功能)。我们配置了 blob 存储帐户容器并在 IoT 中心启用了文件上传通知。据我了解,每当我们将文件上传到 blob 存储时,通知都会到达“ messages/servicebound/fileNotifications ”。

我的问题是,

使用通知的有效方法是什么?

1.)我是否需要像这样(物联网中心文件上传功能)在 Webjob 中不断轮询端点(“ messages/servicebound/fileNotifications ” )?

2.) 或者我应该创建 Blob 触发器 Webjob 以在 Blob 存储中发生更改时触发?

3.) 有没有什么有效的方法来设置这个通知?

注意:我们使用的是 webjob 而不是 Azure 函数,因为我们已经在运行 Azure Web 应用程序实例。为了降低成本,我们使用 Webjobs 而不是 Azure 函数。

请帮助我前进。

提前致谢!

标签: c#azure-webjobsazure-iot-hubasp.net-core-2.2azure-blob-storage

解决方案


请注意,当上传过程成功完成时,Azure IoT 中心将仅发送 ACK 通知消息。这与 C2D 消息传递不同,其中通知消息也可以是 NACK。

另请注意,当设备通知 Azure IoT Hub 上传过程已成功完成(不关心是否已上传真正的 blob,但文件已存在于容器中)时,会向其发送通知 ACK 消息.

基于 Azure IoT Hub 中上传文件通知功能的内置行为,Azure 事件网格是上传 blob 文件的事件驱动通知的不错选择。在这个选项中,文件通知设置可以关闭。


推荐阅读