将 IoT 数据发送到 Azure

Posted

技术标签:

【中文标题】将 IoT 数据发送到 Azure【英文标题】:Sending IoT data to Azure 【发布时间】:2017-08-08 23:45:03 【问题描述】:

我有一个设备可以配置为发送一些环境数据(温度、湿度、气压、光度……)。设备网关支持的方式有MQTT、UDP、WebHook,数据格式可以是CSV或Json。

假设建筑物中有 30 台(或更多)设备,它们每秒都会将数据发送到 Azure 云。然后,我想在云上做一些分析。

我想知道哪种方法的性能最好?

我尝试过使用 WebHook 的 Azure Functions:它会为每个请求收费。

但是,我认为最好的可能是发送 MQTT 数据的 Azure IoT Hub。

【问题讨论】:

如果将数据发送到 IoT 中心,请务必同时查看流分析。使用它,您可以进行一些聚合,将数据推送到某种存储库并在此存储库上触发您的函数。这样一来,您一天中的每一秒都不会运行 30 个函数。 【参考方案1】:

您可以使用带有连接字符串的天蓝色函数 EventHub Trigger 到 Azure IoT 中心: https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-event-hubs

https://www.10thmagnitude.com/tech-blog/step-step-guide-creating-functions-within-azures-iot-hub/

【讨论】:

为什么不直接向 Azure IoT Hub 发送数据?哪一个更好? Azure Functions 仅支持标准 HTTP 和 WebHook。使用 UDP 或 MQTT 怎么样?对不起,我问的问题太多了! :) 补充 Alexey 的观点,您的设备应该将数据发送到 Azure IoT 中心。然后创建 EventHub-Triggered Azure Functions 以从 Azure IoT 中心检索和处理这些事件。我们指的是 EventHub-Triggered Functions,因为 Azure Functions 目前尚不支持 IoT Hub 触发器,因此您需要从 IoT Hub 获取 EventHub 兼容的连接字符串,并使用它来设置 EventHub-Triggered Functions。

以上是关于将 IoT 数据发送到 Azure的主要内容,如果未能解决你的问题,请参考以下文章

如何通过azure设备配置服务从azure功能向iot设备发送自定义错误消息?

如何从 Azure 流分析仅将数据发送到一个 Azure SQL 数据库表?

Azure IoT Hub 十分钟入门系列 - 使用模拟设备发送设备到云(d2c)的消息

Microsoft Azure IoT Hub应用 – 第一部分:向云端发送数据

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

发生错误发送事件:Azure 函数输出适配器无法将事件写入 Azure 函数作为流分析作业输出