跳到内容

Microsoft Fabric:引入行

使用 Microsoft Fabric:引入行,通过 Fabric 引入 API,从旅程步骤将一行数据流式传输到 Eventhouse (KQL) 表中。与其他需要自带令牌的集成点不同,此集成点通过为整个账户一次性连接的 Entra ID 应用程序进行身份验证。该点本身没有令牌字段。

典型用途:

  • 填充报告表: 为每个达到的旅程步骤插入一行,用于下游的仪表板或计划查询。
  • 实时记录事件: 将原始旅程数据流式传输到 Eventhouse,而不是等待批处理管道。
  • 与现有数据连接: 插入设备或标签值,您的 Fabric 表可以根据这些值与您自己的数据集进行连接。

开始之前

Anchor link to

在 设置 > 第三方集成 > Microsoft Azure 下连接一个 Entra ID 应用程序:

  1. 在您的 Entra ID 目录中注册一个应用程序并为其创建一个客户端密钥。
  2. 在 目录 (租户) ID 中,输入您的租户,例如 contoso.onmicrosoft.com。
  3. 在 应用程序 (客户端) ID 中,输入应用程序注册的客户端 ID。
  4. 在 客户端密钥 中,粘贴该密钥。它以只写方式存储:Pushwoosh 不会再次显示它,因此请粘贴一个新的来替换它。
  5. 点击 连接 Azure。

连接 Azure 后,安装集成,以便该点出现在旅程构建器中。

设置 Microsoft Azure 连接表单,包含租户 ID、客户端 ID 和客户端密钥字段

在 Eventhouse 端也需要准备好三件事,否则请求将失败:

  • 目标表需要一个 JSON 引入映射——没有它,JSON 的流式引入将无法工作。
  • 应用程序注册需要在 Eventhouse 上具有 ingestor 角色。Fabric UI 中没有此按钮——通过在 Eventhouse 的查询窗口中运行以下命令来授予它:
.add database ['<database name>'] ingestors ('aadapp=<Application (client) ID>;<Directory (tenant) ID>')
  • KQL 数据库需要启用其流式引入策略。在同一个查询窗口中运行以下命令:
.alter database ['<database name>'] policy streamingingestion enable

如果数据库名称包含连字符,请在这些命令中保留 ['...'] ——一个裸露的带连字符的名称将无法解析。

配置该点

Anchor link to
  1. 将 Microsoft Fabric:引入行 从左侧面板的 集成 部分拖到画布上。
  2. 双击该点并输入 步骤名称。
  3. 在 查询 URI 主机 中,输入您的 Eventhouse 的主机,该主机位于 Eventhouse 的 系统概览 页面上的 查询 URI 中。不要包含 https://,例如 trd-abc123.z9.kusto.fabric.microsoft.com。
Microsoft Fabric 引入行抽屉,已填写步骤名称并将查询 URI 主机设置为 Kusto URL
  1. 在 KQL 数据库 中,输入目标数据库的名称。
KQL 数据库字段设置为 am-test
  1. 在 表 中,输入目标表的名称。
表字段设置为 Events
  1. 在 引入映射 中,输入在该表上创建的 JSON 映射的名称。
引入映射字段设置为 EventsJsonMapping
  1. 在 列 中,为要写入的每个 Eventhouse 列添加一行。输入列名和值。名称必须非空且唯一。值可以是固定文本或旅行者宏,例如 {{tag:Name}},与 Webhook 主体中的宏相同。或者点击 插入动态值 来选择此旅程中先前步骤产生的属性,例如 LLM 响应或映射的 Webhook 值。
列名和值表,其中 device_id 映射到设备 hwid 宏
  1. 点击 保存。

旅行者将继续前往您在画布上连接的下一个步骤。

步骤运行后的属性

Anchor link to

此点不会将任何响应数据映射回旅程中。

失败和意外响应

Anchor link to

在该点的抽屉中打开 调用日志 并检查响应:

  • 401 或 403 — 连接的 Entra ID 应用程序的凭据或其 ingestor 角色错误或缺失。
  • 520 并显示 StreamingIngestionException: Failed to initialize cursor tracker... — KQL 数据库的流式引入策略未启用。错误本身的 permanent: false 标志解读为“稍后重试”,但重试无法解决此问题。在 Eventhouse 的查询窗口中运行 .alter database ['<database name>'] policy streamingingestion enable(参见开始之前)。

失败的请求会将旅行者从旅程中移除。请参阅错误和失败的请求。

示例场景:将旅程活动流式传输到 Fabric 仪表板

Anchor link to

一个团队希望获得一个实时仪表板,显示活跃旅程中达到的每个步骤,而无需等待批量导出。

  1. 在您想要跟踪的步骤之后立即添加 Microsoft Fabric:引入行。将 KQL 数据库 设置为 am-test,表 设置为 Events,引入映射 设置为 EventsJsonMapping。在 列 中,将 device_id 设置为 {{device:hwid}}。
  2. 点击 保存。

一旦运行,每个到达此步骤的旅行者都会在几秒钟内出现在 Eventhouse 表中,为仪表板做好准备。