你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Azure IoT Edge 流分析

IoT Edge上的Azure 流分析是一种轻量级的Azure 流分析版本,可直接在 IoT Edge 设备上运行,以便对设备生成的数据进行近实时分析。 IoT Edge上的Azure 流分析提供低延迟、复原能力、高效使用带宽和法规合规性。 可以在使用基于云的Azure 流分析进行大规模数据处理的同时,部署靠近工业运营的分析和控制逻辑。

IoT Edge 上的 Azure 流分析在 Azure IoT Edge 框架中运行。 在Azure门户中创建流分析作业后,可以使用IoT 中心部署和管理该作业。

IoT Edge 上的流分析的常见方案

下图显示了 IoT 设备和 Azure 云之间的数据流。

显示 IoT 设备与 Azure 云之间数据流的图表。

低延迟命令和控制

制造安全系统必须响应超低延迟的操作数据。 通过在IoT Edge上使用流分析,可以近乎实时地分析传感器数据,并在检测到异常时发出命令来停止计算机或触发警报。

与云的连接有限

任务关键型系统(如远程采矿设备、连接的船只或近海钻探)需要分析和响应数据,即使云连接是间歇性的。 通过使用流分析,流式处理逻辑独立于网络连接运行,可以选择发送到云的内容进行进一步处理或存储。

有限带宽

喷气引擎或联网汽车生成的数据量可能非常大,因此在将数据发送到云之前,必须对其进行筛选或预处理。 通过使用流分析,可以筛选或聚合需要发送到云的数据。

法规合规性和本地数据处理

法规合规性可能需要在本地匿名化或聚合某些数据,然后再将其发送到云。 通过在 IoT Edge 上使用流分析,可以在本地处理敏感数据,并仅将合规的转换结果发送到云。

Azure 流分析中的边缘作业

流分析边缘作业是部署到 Azure IoT Edge 设备的容器化流分析工作负荷。 边缘作业有两个部分:

  • 处理作业定义的云部件:在云中定义输入、输出、查询和其他设置,例如无序事件。

  • 在 IoT 设备上运行的模块。 该模块包含流分析引擎,并从云接收作业定义。

流分析使用IoT 中心将边缘作业部署到设备。 有关详细信息,请参阅 IoT Edge 部署

显示 Azure 流分析 边缘作业组件的图示。

Edge 作业限制

流分析边缘作业旨在实现边缘部署与云部署之间的一致性。 云作业是Azure中运行的标准Azure 流分析作业,而边缘作业在IoT Edge设备上本地运行。 流分析支持边缘和云的大多数 SQL 查询语言功能。 但是,边缘作业不支持以下功能:

  • JavaScript 中的用户定义的函数 (UDF)。 UDF 在 C# 中可用于IoT Edge作业(预览版)。
  • 用户定义的聚合(UDA)。
  • Azure 机器学习 功能
  • 输入/输出的 AVRO 格式。 边缘作业仅支持 CSV 和 JSON 格式。
  • 以下 SQL 运算符:
    • PARTITION BY
    • GetMetadataPropertyValue
  • 迟到政策

运行时和硬件要求

若要在 IoT Edge 上运行流分析,需要运行 Azure IoT Edge 的设备。

流分析和 Azure IoT Edge 使用 Docker 容器提供可在多个主机操作系统(Windows、Linux)上运行的可移植解决方案。

IoT Edge上的流分析在 x86-64 和 ARM 体系结构上作为 Linux 映像运行。

流分析边缘作业的输入和输出

流分析边缘作业从IoT Edge设备上运行的其他模块获取输入和输出。 若要从特定模块进行连接和连接到特定模块,请在部署时设置路由配置。 有关详细信息,请参阅 IoT Edge 模块组合文档

输入和输出都支持 CSV 和 JSON 格式。

对于在流分析作业中创建的每个输入和输出流,流分析会在部署的模块上创建相应的终结点。 在您的部署路由中使用这些端点。

支持的流输入类型包括:

  • Edge 中心
  • 事件中心
  • IoT 中心

支持的流输出类型包括:

  • Edge 中心
  • SQL Database
  • 事件中心
  • Blob 存储/Azure Data Lake Storage Gen2

引用输入支持引用文件类型,该类型为查找提供静态或缓慢变化的数据。 若要将数据发送到其他输出目标,请在下游串联一个云托管的 Stream Analytics 作业。 例如,托管在 IoT Edge 上的流分析作业会将输出发送到 Edge Hub,而 Edge Hub 随后可将输出发送到 IoT 中心。 使用第二个在云中托管的 Azure 流分析 作业,以 IoT 中心 为输入,并将输出发送到 Power BI 或其他输出类型。

Azure 流分析模块映像信息

下表列出了IoT Edge模块映像上的可用流分析。 此版本信息上次更新于 2020-09-21。 检查 Microsoft 容器注册表以获取最新可用版本。

图像 基础映像 Architecture 操作系统
mcr.microsoft.com/azure-stream-analytics/azureiotedge:1.0.9-linux-amd64 mcr.microsoft.com/dotnet/core/runtime:2.1.13-alpine amd64 Linux
mcr.microsoft.com/azure-stream-analytics/azureiotedge:1.0.9-linux-arm32v7 mcr.microsoft.com/dotnet/core/runtime:2.1.13-bionic-arm32v7 手臂 Linux
mcr.microsoft.com/azure-stream-analytics/azureiotedge:1.0.9-linux-arm64 mcr.microsoft.com/dotnet/core/runtime:3.0-bionic-arm64v8 arm64 Linux

Important

此表中列出的基本映像使用 .NET Core 2.1 和 3.0,这些映像已达到生命周期结束。 检查 Microsoft 容器注册表,查看基于受支持的 .NET 版本构建的已更新 Stream Analytics on IoT Edge 映像。