你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
在本快速入门中,你将填充实时仪表板,以从你在上一快速入门中发送到事件中心的 OPC UA 数据中捕获洞察。 使用 Microsoft Fabric Real-Time Intelligence,可将事件中心中的数据引入 Microsoft Fabric,并将其映射到 KQL 数据库,该数据库可以是实时仪表板的源。 然后构建一个仪表板,以可视化图块的形式显示该数据,以捕获见解并显示随时间变化的值。
这些操作是示例端到端快速入门体验的最后步骤,涉及从在边缘部署 Azure IoT 操作到从云中的该设备数据获取见解。
先决条件
在开始本快速入门之前,请完成前面的 Azure IoT Operations 快速入门。
还需有以下 Fabric 资源:
- Microsoft Fabric 订阅。 在订阅中,你需要借助“参与者”权限或更高权限访问工作区。
- 一个允许创建实时仪表板的 Fabric 租户。 租户管理员可以启用此设置。 有关详细信息,请参阅在管理门户中启用租户设置。
我们将解决什么问题?
当 OPC UA 数据到达云时,有很多可供分析的信息。 你可能想要组织该数据并创建包含图形和可视化效果的报表,以便从数据中派生见解。 本快速入门中的步骤演示了如何将这些数据连接到 Real-Time Intelligence 并创建实时仪表板。
将数据引入实时智能
在本部分,我们设置 Microsoft Fabric eventstream,以将事件中心连接到实时智能中的 KQL 数据库。 此过程包括设置数据映射,以将有效负载数据从其 JSON 格式转换为 KQL 中的列。
创建事件流
在本部分中,你将创建一个事件流,以便将数据从事件中心引入 Microsoft Fabric Real-Time Intelligence,并最终进入 KQL 数据库。
首先导航到 Microsoft Fabric 中的实时中心。
将事件中心添加为新事件流的数据源。 有关详细说明,请参阅 将事件从 Azure 事件中心获取到实时中心。 添加数据源时,请记住以下说明:
- 在“流详细信息”窗格中将事件流名称编辑为友好内容。
- 对于 Azure 事件中心密钥,使用默认选项 (RootManageSharedAccessKey)。
- 对于“连接”,请使用共享访问密钥身份验证创建新的连接。 连接凭据详细信息会自动填充。
- 请确保在事件中心命名空间启用了本地身份验证。 可以从 Azure 门户中命名空间的“概述”页设置此身份验证。
- 对于使用者组,请使用默认选择($Default)。
- 对于“数据格式”,请使用默认选项 (Json)。
连接事件流后,使用“打开事件流”按钮,在创作画布中查看它。 来自 Azure 事件中心的流会作为事件流源显示。
验证数据流
按照以下步骤检查迄今为止的工作,确保数据流入 eventstream。
启动在之前的快速入门中部署了 Azure IoT 操作的群集。 使用 Azure IoT 操作实例部署的 OPC PLC 模拟器应该开始运行并发送数据。 你可以通过在 Azure 门户中验证事件中心是否正在接收消息来确认此步骤。
抽几分钟时间等待数据传播。 然后,在事件流实时视图中选择事件流源并刷新“数据预览”。 应该会看到来自模拟器的 JSON 数据开始出现在表中。
提示
如果数据未到达事件流,请检查事件中心中的活动以识别需要调试的流中部分。
准备 KQL 资源
在本部分,我们在 Microsoft Fabric 工作区中创建一个 KQL 数据库,用作数据的目标。
首先,创建实时智能 Eventhouse(有关详细说明,请参阅创建 Eventhouse)。 当 Eventhouse 创建后,它会自动包含一个同名的默认 KQL 数据库。
接下来,在 Eventhouse 的默认数据库中创建一个新表(有关详细说明,请参阅在 KQL 数据库中创建空表)。 将其命名为“OPCUA”,并手动输入以下架构。
列名称 数据类型 AssetId 字符串 峰值 布尔 温度 十进制 FillWeight 十进制 EnergyUse 十进制 时间戳 datetime 创建 OPCUA 表后,选择它并使用 “包含代码的查询 ”按钮在表的新查询窗口中打开任何示例查询。
清除示例查询,并运行以下 KQL 查询,以便为表创建数据映射。 该数据映射称为 opcua_mapping。
.create table ['OPCUA'] ingestion json mapping 'opcua_mapping' '[{"column":"AssetId", "Properties":{"Path":"$[\'AssetId\']"}},{"column":"Spike", "Properties":{"Path":"$.Spike"}},{"column":"Temperature", "Properties":{"Path":"$.TemperatureF"}},{"column":"FillWeight", "Properties":{"Path":"$.FillWeight"}},{"column":"EnergyUse", "Properties":{"Path":"$.EnergyUse.Value"}},{"column":"Timestamp", "Properties":{"Path":"$[\'EventProcessedUtcTime\']"}}]'
将事件流数据添加到 KQL 数据库
接下来,将事件流添加为 KQL 表的数据源。 有关详细说明,请参阅 从 Eventstream 获取数据。 添加数据源时,请记住以下说明:
将 OPCUA 表用作目标表,将事件流用作源。
在 “检查 ”步骤中,选择之前创建的 opcua_mapping :
完成此设置后,数据开始流经事件流,并被处理到 KQL 表中。
抽几分钟时间等待数据传播。 然后,选择 OPCUA 表(可能需要刷新视图),以查看表中显示的事件流中的数据预览。
还可使用“使用代码进行查询”按钮,以打开 OPCUA 表的查询窗口,并运行查询以浏览数据。
创建实时仪表板
在本部分中,你将创建新的 实时仪表板 来可视化快速入门数据,并从示例仪表板模板导入一组磁贴。 仪表板允许按资产 ID 和时间戳进行筛选,并显示温度、高峰频率和其他数据的视觉对象摘要。
注意
只有在租户管理员启用了在您的 Fabric 租户中创建实时仪表板的功能时,您才能创建实时仪表板。 有关详细信息,请参阅在管理门户中启用租户设置。
创建仪表板
导航到工作区并从 Real-Time Intelligence 功能创建新的实时仪表板。 有关详细说明,请参阅 “创建新仪表板”。
上传模板并连接数据源
从 GitHub 中的此位置下载示例仪表板模板:dashboard-AIOquickstart.json。
然后,按照以下步骤上传仪表板模板并将其连接到数据。
- 在实时仪表板中,切换到“ 管理 ”选项卡,然后选择“ 替换为文件”。
- 选择下载到计算机的模板文件。
- 模板文件使用多个磁贴填充仪表板,尽管磁贴无法获取数据,因为你尚未连接数据源。
- 在“管理”选项卡中,选择“数据源”。 此操作将打开“数据源”窗格,显示 AIO 数据的示例源。 选择铅笔图标来编辑 AIOdata 数据源。
- 选择数据库(它属于 Eventhouse/KQL 数据库)。 连接完数据源后,选择“应用”并关闭“数据源”窗格。
视觉对象会填充 KQL 数据库中的数据。
在“开始”选项卡上,选择“保存”以保存仪表板。
浏览仪表板
你现在有一个仪表板,其中显示这些快速入门中的资产数据的不同类型视觉对象。 模板中包含的视觉对象包括:
- 仪表板的参数,用于按时间戳(默认包含)和资产 ID 筛选所有视觉对象。
- 显示温度及其随时间推移的峰值的折线图磁贴。
- 显示温度的实时峰值指示器的统计信息磁贴。 磁贴会显示最新的温度值,如果该值为峰值,条件格式将其显示为警告。
- 显示磁贴最高温度的统计信息磁贴。
- 显示所选时间范围内峰值数的统计信息磁贴。
- 显示随时间推移的温度与填充权重的折线图磁贴。
- 显示随时间推移的温度与能源使用的折线图磁贴。
在这里,我们可以试验筛选器并添加其他磁贴类型,以了解如何通过仪表板使用数据执行更多操作。
此步骤完成了使用 Azure IoT 操作,在从部署到云中分析的整个过程中管理设备数据的快速入门流程。
清理资源
完成快速入门体验后,本部分包含有关删除示例资源的说明。
如果要移除 Azure IoT 操作部署但保留群集,请使用 az iot ops delete 命令:
az iot ops delete --cluster $CLUSTER_NAME --resource-group $RESOURCE_GROUP
如果要删除为此快速入门创建的所有资源,请删除部署 Azure IoT 操作的 Kubernetes 群集,然后移除包含该群集的 Azure 资源组。
如果使用了 Codespaces 来完成这些快速入门,请从 GitHub 中删除你的 Codespace。
注意
该资源组包含你在本快速入门中创建的事件中心命名空间。
还可以删除与本快速入门关联的Microsoft Fabric 工作区及其中的所有资源,包括 eventstream、Eventhouse 和实时仪表板。 此外,可能需要删除下载到计算机的仪表板模板文件。