Microsoft Fabric 事件流 - 概述
Microsoft Fabric 实时智能体验中的事件流功能可让你将实时事件引入 Fabric,对其进行转换,然后将它们路由到各个目标,而无需编写任何代码(无代码)。 创建事件流,该事件流是 Fabric 中的 Eventstream 项的实例,将事件数据源添加到流中,还可以选择添加转换以转换事件数据,然后将数据路由到受支持的目的地。 此外,借助 Eventstream 项上提供的 Apache Kafka 终结点,可以使用 Kafka 协议发送或使用实时事件。
将事件引入 Fabric
事件流功能提供了各种源连接器,用于从各种源提取事件数据。 在创建事件流时,如果启用增强功能,则有更多可用源。
来源 | 说明 |
---|---|
Azure 事件中心 | 如果你有 Azure 事件中心,可以使用 Eventstream 将事件中心数据引入 Microsoft Fabric。 |
Azure IoT 中心 | 如果你有 Azure IoT 中心,可以使用 Eventstream 将 IoT 数据引入 Microsoft Fabric。 |
Azure SQL 数据库变更数据捕获 (CDC) | 通过使用 Azure SQL 数据库 CDC 源连接器,你可以捕获 Azure SQL 数据库中当前数据的快照。 然后,连接器将监视并记录对此数据进行的任何未来的行级别更改。 |
PostgreSQL 数据库 CDC | 通过使用 Postgre SQL 数据库变更数据捕获 (CDC) 源连接器,你可以捕获 PostgreSQL 数据库中当前数据的快照。 然后,连接器将监视并记录对此数据进行的任何未来的行级别更改。 |
MySQL 数据库 CDC | 通过使用 Azure MySQL Database 变更数据捕获 (CDC) 源连接器,你可以捕获 Azure Database for MySQL 数据库中当前数据的快照。 你可以指定要监视的表,事件流将记录对表进行的任何未来的行级更改。 |
Azure Cosmos DB CDC | 通过使用 Microsoft Fabric 事件流的 Azure Cosmos DB 变更数据捕获 (CDC) 源连接器,你可以捕获 Azure Cosmos DB 数据库中当前数据的快照。 然后,连接器将监视并记录对此数据进行的任何未来的行级别更改。 |
虚拟机 (VM) 上的 SQL Server 数据库 (DB) CDC | Fabric 事件流的 VM DB 上的 SQL Server (CDC) 源连接器可支持捕获VM 上的 SQL Server 数据库中当前数据的快照。 然后,连接器将监视并记录对此数据进行的任何未来的行级别更改。 |
Azure SQL 托管实例 CDC | 通过用于 Microsoft Fabric 事件流的 Azure SQL 托管实例 CDC 源连接器,你可以捕获 SQL 托管实例数据库中当前数据的快照。 然后,连接器将监视并记录对此数据进行的任何未来的行级别更改。 |
Google Cloud Pub/Sub | Google Pub/Sub 是一种消息传递服务,可用于发布和订阅事件流。 你可以将 Google Pub/Sub 作为源添加到事件流,以捕获、转换实时事件并将其路由到 Fabric 中的各种目标。 |
Amazon Kinesis 数据流 | Amazon Kinesis 数据流是一种可大规模伸缩、高度持久的数据引入和处理服务,针对流式传输数据进行了优化。 通过将 Amazon Kinesis 数据流作为事件流中的源集成,可以在将实时数据流路由到 Fabric 中的多个目标之前对其进行无缝处理。 |
Confluent Cloud Kafka | Confluent Cloud Kafka 是一个流式处理平台,该平台使用 Apache Kafka 提供强大的数据流式处理和处理功能。 通过将 Confluent Cloud Kafka 作为事件流中的源集成,可以在将实时数据流路由到 Fabric 中的多个目标之前对其进行无缝处理。 |
Amazon MSK Kafka | Amazon MSK Kafka 是一种完全托管的 Kafka 服务,可简化设置、缩放和管理。 通过将 Amazon MSK Kafka 作为事件流中的源集成,可以从 MSK Kafka 无缝引入实时事件,并在路由到 Fabric 中的多个目标之前对其进行处理。 |
示例数据 | 可以选择“自行车”“黄色出租车”或“股票市场事件”作为示例数据源,以在设置事件流时测试数据引入。 |
自定义终结点(即标准功能的自定义应用) | 自定义终结点功能让你的应用程序或 Kafka 客户端可以使用连接字符串连接到 Eventstream,从而顺利地将流数据引入到 Eventstream 中。 |
Azure 服务总线(预览版) | 可以使用 Eventstream 将数据从 Azure 服务总线队列或主题的订阅引入到 Microsoft Fabric 中。 |
Apache Kafka(预览版) | Apache Kafka 是一个开源分布式平台,用于构建可缩放的实时数据系统。 通过将 Apache Kafka 作为事件流中的源集成,可以从 Apache Kafka 无缝引入实时事件,并在路由到 Fabric 中的多个目标之前对其进行处理。 |
Azure Blob 存储事件(预览版) | 当客户端创建、替换或删除 Blob 时,将触发 Azure Blob 存储事件。 连接器允许你将 Blob 存储事件链接到实时中心的 Fabric 事件。 你可以将这些事件转换为连续数据流,并在将其路由到 Fabric 中的各种目标之前对其进行转换。 |
Fabric 工作区项事件(预览版) | Fabric 工作区项事件是对 Fabric 工作区进行更改时发生的离散 Fabric 事件。 这些更改包括创建、更新或删除 Fabric 项。 使用 Fabric 事件流,可以捕获这些 Fabric 工作区事件,转换这些事件,并将其路由到 Fabric 中的各种目标,以作进一步分析。 |
使用无代码体验处理事件
拖放体验提供了一种简单直观的方法来创建事件数据处理、转换和路由逻辑,无需编写任何代码。 可以通过事件流中的端到端数据流图全面了解数据流和组织。 事件处理程序编辑器采用无代码体验,只需拖放即可设计出活动数据处理逻辑。
转换 | 说明 |
---|---|
Filter | 使用“筛选器”转换以基于输入中的字段值筛选事件。 根据数据类型(数值或文本),转换会保留与所选条件匹配的值,如 is null 或 is not null 。 |
管理字段 | 可以通过“管理字段”转换来添加、删除、更改数据类型或重命名从输入或其他转换中传入的字段。 |
聚合 | 使用“聚合”转换来计算一段时间内每次新事件发生时的聚合(总和、最小值、最大值或平均值)。 此操作还允许重命名这些计算列,并根据数据中的其他维度筛选或切片聚合。 在同一转换中可以有一个或多个聚合。 |
Group by | 使用“分组依据”转换计算某个时间窗口内所有事件的聚合。 可以按一个或多个字段中的值进行分组。 就像聚合转换允许重命名列一样,但提供了更多聚合选项,并包含更复杂的时间窗口选项。 与“聚合”类似,你可以为每个转换添加多个聚合。 |
Union | 使用“联合”转换可以连接两个或多个节点,并将具有共享字段(具有相同名称和数据类型)的事件添加到一个表中。 不匹配的字段将被删除,不包含在输出中。 |
展开 | 使用“扩展”数组转换可为数组中的每个值创建一个新行。 |
Join | 使用“联合”转换根据两个流之间的匹配条件合并其中的数据。 |
如果在创建事件流时启用了增强功能,则所有目标都支持转换操作(对于某些目标,如自定义终结点、Fabric Activator,派生流将充当中间桥梁)。 如果没有,转换操作仅适用于湖屋和 Eventhouse(在引入前先进行事件处理)目标。
将事件路由到目标
Fabric 事件流功能支持将数据发送到以下受支持的目标。
目标 | 说明 |
---|---|
自定义终结点(即标准功能的自定义应用) | 使用此目标,可以轻松地将实时事件路由到自定义终结点。 你可以将自己的应用程序连接到事件流,并实时使用事件数据。 如果要将实时数据传出到 Microsoft Fabric 之外的外部系统,此目标会非常有用。 |
Eventhouse | 此目标使你能够将实时事件数据引入 Eventhouse 中,可以在该库中使用强大的 Kusto 查询语言 (KQL) 来查询和分析数据。 借助 Eventhouse 中的数据,可以更深入了解事件数据并创建丰富的报表和仪表板。 可以选择两种引入模式:直接引入和引入前的事件处理。 |
Lakehouse | 此目标使你能够在将实时事件引入湖屋之前转换它们。 实时事件会转换为 Delta Lake 格式,然后存储在指定的湖屋表中。 此目标支持数据仓库应用场景。 |
派生流 | 派生流是一种专用的目标类型,可以在添加流操作(如筛选器或管理字段)到事件流后创建。 派生流表示流处理后转换的默认流。 你可以将派生流路由到 Fabric 中的多个目标,并在实时中心查看派生流。 |
Fabric Activator(预览版) | 使用此目标,可以将实时事件数据直接连接到 Fabric Activator。 Activator 是一种智能代理,其中包含连接到数据、监视条件和执行操作所需的所有信息。当数据达到特定阈值或匹配其他模式时,Activator 会自动执行相应操作,例如提醒用户或启动 Power Automate 工作流。 |
可以在事件流中附加多个目标,以同时从事件流接收数据,而不会相互干扰。
注意
建议使用具有至少 4 个容量单位(SKU:F4)的 Microsoft Fabric 事件流功能
Fabric 事件流上的 Apache Kafka
Fabric 事件流功能在 Eventstream 项上提供 Apache Kafka 终结点,使用户能够通过 Kafka 协议连接和使用流式处理事件。 如果已有一个应用程序使用 Apache Kafka 协议发送或使用包含特定 Kafka 主题的流式处理事件,则只需更新连接设置,将其指向事件流中提供的 Kafka 终结点,即可轻松将同一应用程序调整为发送或使用事件流中的流式处理事件。
Fabric 事件流功能由 Azure 事件中心(一项完全托管的云原生服务)提供支持。 创建事件流时,会自动预配事件中心命名空间,并为默认流分配事件中心,无需进行任何预配配置。 若要详细了解 Azure 事件中心服务中与 Kafka 兼容的功能,请参阅适用于 Apache Kafka 的 Azure 事件中心。
若要详细了解如何获取用于将事件发送到事件流的 Kafka 终结点详细信息,请参阅 将自定义终结点源添加到事件流;若要详细了解如何从事件流使用事件,请参阅向事件流添加自定义终结点目标。
增强的功能
如果在创建事件流时启用增强功能选项,可以使用更多功能、源和目标。 使用“增强功能”和“标准功能”选项卡了解增强功能支持的其他源和目标。
下面是增强功能的一些其他值得注意的功能:
- 编辑模式和实时视图。 探索可视化和设计流处理的两种不同的模式。
- 默认流和派生流。 使用你设计的格式创建一个连续的流,其中包含稍后可在实时中心使用的事件处理器。
- 基于内容的数据流路由。 根据使用事件处理器设计的数据流内容,在 Fabric 中的任何位置转换和路由数据流。