向事件流添加自定义终结点或自定义应用源

如果要将自己的应用程序与事件流连接,可以添加自定义终结点或自定义应用作为源。 然后,您可以使用在自定义端点或自定义应用程序上公开的连接端点,从您自己的应用程序将实时事件发送到事件流。 此外,在 Apache Kafka 协议可作为自定义终结点或自定义应用的选项的情况下,你可以通过 Apache Kafka 协议发送实时事件。

本文介绍了如何将自定义终结点源或自定义应用源添加到 Microsoft Fabric 事件流中的事件流。

先决条件

在开始之前,请确保有权访问事件流所在的工作区。 工作区必须处于“Fabric 容量”或“试用”模式。

  • 编辑事件流以添加自定义终结点源需要贡献者或更高权限。
  • 如果要使用 Entra ID 身份验证 连接应用程序,则需要 成员 或更高权限。

如果使用 Entra ID 身份验证,还需要确保自定义终结点的托管标识具有所需的权限。 为此,请在 管理门户中配置必要的设置:

  1. 选择右上角的 “设置” (齿轮图标)。

  2. “治理和见解”部分下选择“管理门户”。

    屏幕截图显示在“治理和见解”部分选择了“管理员门户”链接。

  3. 激活以下租户设置,向服务主体授予对 Fabric API 的访问权限,以创建工作区、连接或部署管道:

    • “租户设置”页上的“开发人员设置”部分中,展开“服务主体可以使用Fabric API”选项。
    • 切换到 “已启用”。
    • 应用于 整个组织
    • 选择 应用

    显示开发人员设置的屏幕截图。

  4. 启用此选项以访问所有其他 API(默认情况下为新租户启用):

    • 仍然在“租户设置”页上展开“允许服务主体创建和使用配置文件”选项。
    • 切换到 “已启用”。
    • 应用于 整个组织
    • 选择 应用

注意

仅当使用以下类型时,事件流最多可以支持 11 个组合的源和目标:

  • 源:自定义终结点。
  • 目标:使用直接引入的自定义终结点和 Eventhouse。

上述列表中未包含的任何源或目标,且未追加到默认流的目标不会计入此限制。

将自定义终结点数据添加为源

  1. 要添加自定义终结点源,请在“入门”页面上,选择“使用自定义终结点”。 或者,如果已有已发布的事件流,并且想要将自定义终结点数据添加为源,请切换到“编辑”模式。 在功能区上,选择“添加源”>“自定义终结点”

    使用自定义终结点的选项的屏幕截图。

  2. 在“自定义终结点”对话框中,在“源名称”下,输入自定义源的名称,然后选择“添加”。

    用于添加自定义终结点的对话框的屏幕截图。

  3. 创建自定义终结点源后,它会在编辑模式下被添加到画布上的事件流中。 若要实现新添加的自定义应用源数据,请选择“发布”

    显示“编辑模式”下事件流的屏幕截图,其中突出显示了“发布”按钮。

注意

仅当使用以下类型时,事件流最多可以支持 11 个组合的源和目标:

  • 源:自定义终结点。
  • 目标:使用直接引入的自定义终结点和 Eventhouse。

上述列表中未包含的任何源或目标,且未追加到默认流的目标不会计入此限制。

将自定义终结点数据添加为源

  1. 要添加自定义终结点源,请在“入门”页面上,选择“使用自定义终结点”。 或者,如果已有已发布的事件流,并且想要将自定义终结点数据添加为源,请切换到“编辑”模式。 在功能区上,选择“添加源”>“自定义终结点”

    使用自定义终结点的选项的屏幕截图。

  2. “添加源”页上,选择“激活架构关联”,然后选择“添加”。

    自定义终结点源的屏幕截图,其中包含用于关联架构的选项。

  3. 在编辑器中,若要从架构注册表中与新架构或现有架构相关联,请选择功能区上的 “关联事件架构 ”。

    事件流编辑器的屏幕截图,其中选择了功能区上的“关联事件架构”按钮。

  4. 若要使用现有架构,请选择“ 从事件架构注册表中选择”,然后按照以下步骤作:

    1. “关联事件架构 ”窗口中,从架构注册表中选择架构。 右窗格中会显示事件数据架构。

    2. 选择 “选择 ”将事件架构与自定义终结点相关联。

      “关联事件架构”窗口的屏幕截图,其中包含从架构注册表中选择的架构。

    3. 在 Eventstream 编辑器中,选择 事件流 磁贴。 在底部窗格中,切换到 “关联架构 ”选项卡。确认看到与事件流关联的架构。

      事件流编辑器的屏幕截图,其中已选中事件流,并突出显示了“关联架构”选项卡。

  5. 使用以下选项之一创建架构。

    • 如果有架构 JSON 文件,请选择“ 上传 ”以上传该文件。 有关示例文件,请参阅 示例架构文件 部分。

      显示用于创建架构的上传选项的屏幕截图。

    • 选择 “添加行”开始手动生成架构。 对于每一行,请选择 字段类型字段名称,并根据需要输入 说明

      显示构建架构的手动方法的屏幕截图。

    • 若要通过输入 JSON 代码生成架构,请选择 “代码编辑器 ”选项,如下图所示。 如果看到消息: 如果选择使用代码编辑器创建架构,请注意,无法切换回 UI 生成器,请选择 “编辑”。

      显示用于生成架构的代码编辑器的屏幕截图。

      在编辑器中输入 JSON 代码。

      显示代码编辑器中用于生成架构的 JSON 代码的屏幕截图。

在“详细信息”窗格上获取终结点详细信息

创建自定义终结点源后,其数据可用于实时视图中可视化。

显示实时视图中事件流的屏幕截图。

“详细信息”窗格有三个协议选项卡:“事件中心”、“AMQP”和“Kafka”。 每个协议选项卡有三个页面:“基本信息”、“密钥”和“SAS 密钥身份验证”。 这些页面提供终结点详细信息以及相应的连接协议。

“基本信息”页显示自定义终结点的名称、类型和状态。

屏幕截图显示事件流实时视图的“详细信息”窗格上的基本信息。

“SAS 密钥身份验证页面”提供有关连接密钥的信息,以及指向示例代码的链接,其中嵌入了可用于传输事件到您的事件流的相应密钥。 “密钥”页上的信息因协议而异。

事件中心

“事件中心”选项卡上的“SAS 密钥身份验证”页包含与事件中心的连接字符串相关的信息。 该信息包括“事件中心名称”、“共享访问密钥名称”、“主密钥”、“辅助密钥”、“连接字符串 - 主密钥”、“连接字符串 - 辅助密钥”。

屏幕截图显示事件流的“详细信息”窗格中的关键信息。

事件中心格式是连接字符串的默认设置,它与 Azure 事件中心 SDK 兼容。 使用此格式,你可以通过事件枢纽协议连接到事件流。

以下示例显示了事件中心格式的连接字符串的呈现效果:

Endpoint=sb://eventstream-xxxxxxxx.servicebus.windows.net/;SharedAccessKeyName=key_xxxxxxxx;SharedAccessKey=xxxxxxxx;EntityPath=es_xxxxxxx

如果你选择“显示示例代码”按钮,则会看到现成可用的 Java 代码,其中包含有关事件中心内的连接密钥的必需信息。 将其复制并粘贴到应用程序中供使用。

屏幕截图显示事件流实时视图的“详细信息”窗格上的示例代码。

高级消息队列协议 (AMQP)

AMQP 格式与 AMQP 1.0 协议兼容,后者是一种标准消息传递协议,支持各种平台和语言之间的互操作性。 可以使用此格式通过 AMQP 协议连接到事件流。

屏幕截图显示事件流实时视图的“详细信息”窗格上的 AMQP 密钥。

选择“显示示例代码”按钮时,你会看到现成可用的 Java 代码以及 AMQP 格式的连接密钥信息。

屏幕截图显示事件流实时视图的“详细信息”窗格上的 AMQP 示例代码。

Kafka

Kafka 格式与 Apache Kafka 协议兼容,后者是一种流行的分布式流式处理平台,支持高吞吐量和低延迟的数据处理。 你可以使用 Kafka 协议格式的“SAS 密钥身份验证”信息来连接到事件流并流式传输事件。

屏幕截图显示事件流实时视图的“详细信息”窗格上的 Kafka 密钥。

选择“显示示例代码”按钮时,你会看到现成可用的 Java 代码,包括 Kafka 格式的必需连接密钥。 复制它供你使用。

屏幕截图显示事件流实时视图的“详细信息”窗格上的 Kafka 示例代码。

有关将自定义终结点与 Kafka 协议配合使用的明确指南,请参阅 本教程。 它提供了使用支持 Kafka 协议的自定义终结点进行流式传输和消费事件的详细步骤。

注意

  • 可以选择适合应用程序需求和偏好的协议格式,然后将连接字符串复制并粘贴到应用程序中。 你还可以参考或复制示例代码,其中显示了如何使用各种协议来发送或接收事件。
  • 若要退出示例代码视图,请选择“隐藏示例代码”。

配置事件流目标以使用架构

目前,仅当启用了扩展功能(例如架构支持)时,事件流才支持 Eventhouse、自定义终结点和派生流的目标。 本部分介绍如何在为事件流启用扩展功能(如架构支持)时添加和配置 Eventhouse 目标。

为自定义终结点目标配置架构

  1. 选择 “转换事件”或“添加目标”,然后选择“ 自定义终结点”。

  2. “自定义终结点 ”窗格中,照常指定目标的名称。

  3. 对于 输入架构,请选择事件的架构。 此字段是在为事件流启用架构支持时填充的额外字段。

    显示“自定义终结点配置”页的屏幕截图。

    有关配置自定义终结点目标的详细步骤,请参阅 向事件流添加自定义终结点或自定义应用目标

为 eventhouse 目标配置架构

  1. 选择 “转换事件”或“添加目标”,然后选择“ Eventhouse”。
  2. Eventhouse 页上,配置以下与架构相关的设置:
    1. 对于 输入架构,请从下拉列表中选择一个或多个架构。

      显示已选择输入架构的 Eventhouse 配置页的屏幕截图。

      注意

      如果在配置事件中心源时 通过标头选项选择了动态架构 ,则可能已为源配置了多个架构,并将其映射到不同的属性及其值。

    2. 对于 表创建方法,请根据要求选择一个选项: 一个表,其中包含所有架构的组合 表或 每个架构的单独表

      显示包含表创建方法的 Eventhouse 配置页的屏幕截图。

    3. 对于 写入数据,请选择以下选项之一:

      • 仅有效负载:将提取的有效负载数据写入表。 如果有多个输入架构,则会将数据发送到多个表。

      • 元数据和有效负载:将元数据和有效负载数据写入单个表。 示例列: source 、、subjecttypedata等。

        显示包含写入数据选项的 Eventhouse 配置页的屏幕截图。

      有关配置 Eventhouse 目标的详细步骤,请参阅 向事件流添加 Eventhouse 目标

有关受支持源的列表,请参阅在事件流中添加事件源