将 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应用 – 第一部分:向云端发送数据