我写此信是为了寻求帮助,以解决我在将 IoT 中心数据加载到不同的 Azure 数据资源管理器表时遇到的挑战。
背景: 我有 Python 脚本模拟设备(电表),成功将数据发送到 IoT 中心。我的目标是将这些数据加载到三个单独的 Data Explorer 表中,每个表代表一种特定类型的能源:天然气、水和电力。 (我宁愿避免使用类型列。)
问题的关键是大多数教程都建议在 IoT 中心创建路由。然而,没有人提供关于如何执行此操作的明确说明,而且我的搜索也没有产生令人满意的结果。此外,我不想使用事件中心,因为据说没有它也可以实现这一目标。
如果有人有见解或可以引导我走向正确的方向,我将不胜感激。
我设法将 IoT 中心数据发送到一个 Azure 数据资源管理器表。但是,我没有设法将数据与路线分开。
要在不使用事件中心的情况下将 Azure IoT 中心数据路由到不同的 Azure 数据资源管理器表,您可以将 IoT 中心消息的数据路由到 Azure 存储并从 Azure 数据资源管理器中的存储获取数据,或者使用 Azure 流分析作为中介IoT 中心和 Azure 数据资源管理器之间。
按照此文档,使用 Python 将设备遥测数据发送到 Azure IoT 中心。
将 IoT 中心消息的数据/消息路由到 Azure 存储,并从 Azure 数据资源管理器中的存储获取数据:
。按照此参考将消息路由到第二个终结点,并按照此文档将数据从 Azure 存储获取到 Azure 数据资源管理器。
如果有文件夹路径:
使用 Azure 流分析作为 IoT 中心和 Azure 数据资源管理器之间的中介:
请按照以下步骤实现此目的:
在 Azure 门户中创建 Azure 流分析作业。
创建 Azure 数据资源管理器、数据库和表。
定义输入:将 IoT 中心配置为 Azure 流分析作业的输入源。
使用此 doc 托管标识从 Azure 流分析作业访问 Azure 数据资源管理器。
定义输出:将 Azure 数据资源管理器表配置为 Azure 流分析作业的输出接收器。您需要提供每个表的连接信息。
在流分析作业中,编写一个查询,根据您的条件(例如能源类型)过滤传入数据并将其路由到适当的输出。您可以使用
CASE
语句或 WHERE
子句来实现此目的。
配置输入、输出和查询后,启动 Azure 流分析作业。