使用数据流处理和路由数据

你可通过数据流连接各种数据源并执行数据操作,从而简化数据路径的设置,以便移动、转换和扩充数据。 数据流组件是 Azure IoT 操作的一部分,部署为 Azure Arc 扩展。 数据流的配置是通过 Kubernetes 自定义资源定义 (CRD) 完成的。

可以为各种用例编写配置,例如:

  • 转换数据并将其发送回 MQTT
  • 转换数据并将其发送到云
  • 在不转换的情况下将数据发送到云或边缘

数据流不限于部署 IoT 操作实例的区域。 可以使用数据流将数据发送到不同区域中的云终结点。

关键功能

下面是数据流的重要功能。

数据处理和路由

数据流支持引入、处理消息和将消息路由到指定的接收器。 可以指定:

  • 源:从中引入消息的位置
  • 目标:消息流向的位置
  • 转换(可选):数据处理操作的配置

转换功能

在处理阶段可以对数据应用转换来执行各种操作。 这些操作可能包括:

  • 计算新属性:根据消息中的现有属性
  • 重命名属性:标准化或阐明数据
  • 转换单位:将值转换为不同的度量单位
  • 标准化值:将属性值缩放到用户定义的范围
  • 对数据进行上下文化处理:向消息添加引用数据以扩充和推动产生见解

配置和部署

配置是使用 Kubernetes CRD 指定的。 根据此配置,数据流操作员创建数据流实例,以确保高可用性和可靠性。

优点

  • 简化设置:轻松连接数据源和目标。
  • 灵活转换:执行各种数据操作。
  • 可缩放配置:使用 Kubernetes CRD 实现可扩展且易于管理的配置。
  • 高可用性:Kubernetes 本机资源可确保可靠性。

通过使用数据流,可以有效地管理数据路径。 可以确保准确发送、转换和扩充数据以满足操作需求。

架构注册表

架构注册表(Azure 设备注册表提供的一项功能)是云中和边缘的同步存储库。 架构注册表能够存储来自边缘资产的消息的定义,然后公开 API 以访问边缘上的这些架构。 OPC UA 连接器等南向连接器可以创建消息架构并将其添加到架构注册表,或者客户可以将架构上传到操作体验 Web UI。

数据流使用消息架构将消息转换为目标终结点预期的格式。

有关详细信息,请参阅了解消息架构

本地 MQTT 代理终结点消息存储

使用本地 MQTT 中转站作为数据流中的源终结点时,消息将存储在数据流与目标终结点之间的连接丢失期间。 例如,假设使用默认的本地 MQTT 中转站作为源终结点和 Azure 事件中心作为目标终结点创建数据流。 如果数据流与 Azure 事件中心之间的连接丢失,消息将存储在 MQTT 中转站订阅服务器消息队列中。 还原连接后,数据流会将订阅服务器消息队列中的消息发送到 Azure 事件中心。

默认情况下,本地 MQTT 中转站消息队列存储在内存中。 可以使用磁盘支持的消息缓冲区配置将 MQTT 中转站配置为将消息存储在磁盘上。 有关 MQTT 代理配置的详细信息,请参阅 配置中转站设置以实现高可用性、缩放和内存使用情况。 有关磁盘支持的消息缓冲区的详细信息,请参阅 配置磁盘支持的消息缓冲区行为