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

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

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

先决条件

  • 访问事件流所在的工作区。 工作区必须处于 Fabric 容量或试用模式。

  • 编辑事件流需要“参与者”或更高级别的权限,并将自定义终结点添加为来源。

Microsoft Entra 身份验证的权限

如果要使用 Microsoft Entra 身份验证连接应用程序,则需要成员或更高权限。

还需要确保自定义终结点的托管标识具有所需的权限。 在管理门户中配置设置:

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

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

    显示“管理门户”链接的屏幕截图,该链接位于设置中的治理和见解部分。

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

    1. “租户设置” 页上的“ 开发人员设置 ”部分中,展开 “服务主体”可以使用 Fabric API 选项。
    2. 将切换设置为“启用”。
    3. 对于 “应用于”,请选择 整个组织
    4. 选择 应用

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

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

    1. 仍然在“租户设置”页上展开“允许服务主体创建和使用配置文件”选项。
    2. 将切换设置为“启用”。
    3. 对于 “应用于”,请选择 整个组织
    4. 选择 应用

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

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

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

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

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

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

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

注意

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

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

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

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

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

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

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

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

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

    事件流编辑器的屏幕截图,其中包含用于关联功能区上选择的事件架构的按钮。

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

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

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

      用于将事件架构与从架构注册表中选择的架构关联的对话框的屏幕截图。

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

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

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

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

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

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

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

    • 若要通过输入 JSON 代码生成架构,请选择 “代码编辑器 ”选项。 如果出现信息 “如果选择使用代码编辑器创建架构,请注意无法切换回 UI 生成器”,请选择 编辑

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

      在编辑器中输入 JSON 代码。

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

注意

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

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

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

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

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

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

“详细信息”窗格有三个协议选项卡:“事件中心”、“AMQP”和“Kafka”。 每个协议选项卡都有两个页面,其中包含用于连接的相应协议的终结点详细信息:

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

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

  • 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 协议配合使用的明确指南,请参阅 本教程。 它提供流传输和使用事件的详细步骤。

注意

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

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

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

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

  1. 选择 “转换事件”或“添加目标”,然后选择 “CustomEndpoint”。

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

  3. 对于 输入架构,请选择事件的架构。 启用事件流的架构支持时,将在此框中做出选择。

显示用于配置自定义终结点的窗格的屏幕截图。

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

为 eventhouse 目标配置架构

  1. 选择 “转换事件”或“添加目标”,然后选择“ Eventhouse”。

  2. Eventhouse 窗格中,配置以下与架构相关的设置:

    1. 对于 输入架构,请从下拉列表中选择一个或多个架构。

      显示已选择输入架构的 eventhouse 配置窗格的屏幕截图。

      注意

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

    2. 对于 表创建方法,请选择 一个表,其中包含每个架构的所有架构组合单独表,具体取决于你的要求。

      显示包含表创建方法的 eventhouse 配置窗格的屏幕截图。

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

      • 仅有效负载:将提取的有效负载数据写入表。 如果有多个输入架构,则会将数据发送到多个表。
      • 元数据和有效负载:将元数据和有效负载数据写入单个表。 示例列包括sourcesubjecttypedata

      显示事件屋配置窗格的屏幕截图,其中包含用于写入数据的选项。

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