使用 IoT 中心文件上传通知作为 Webjob 触发的事件

Consume IoT Hub file upload notifications as Webjob triggered events

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

我的问题是,

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

1.) 我是否需要像这样(IoT hub File Upload feature)在 Webjob 中连续轮询端点(“messages/servicebound/fileNotifications”)?

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

3.) 是否有任何有效的方法来设置此通知?

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

请帮助我前进。

提前致谢!

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

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

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

查询提供的端点应该是监控文件上传的有效方式。

此端点 uses AMQP,因此它专门用于像这样的高效异步通信。