跳到内容

BigQuery:插入行

使用 BigQuery:插入行,通过流式插入 API 从旅程步骤将一行数据流式传输到 BigQuery 表中。与 Google Sheets:添加行类似,此节点通过为整个帐户连接一次的 Google 帐户进行身份验证。节点本身没有令牌字段。

典型用途:

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

开始之前

Anchor link to

在 设置 > 第三方集成 > Google 下连接一个 Google 帐户。这与 Google Sheets:添加行 使用的是同一个连接。连接 Google 后,安装集成,这样节点就会出现在旅程构建器中。

这与该页面上的 Google BigQuery 卡片不同。那个是 BigQuery 集成:它将应用程序的每个消息事件流式传输到基于服务帐户密钥的固定模式中。此节点在您放置它的步骤上写入您定义的一行,并且本身不使用任何密钥。

设置第三方集成页面,显示 Google 连接卡片和旁边的独立 Google BigQuery 卡片

在 Google Cloud 端也需要满足两个条件,否则请求会失败:

  • 数据集和表必须已经存在。此节点只写入行,从不创建表。
  • 连接的 Google 帐户需要对该数据集拥有 BigQuery 数据编辑者 角色(或任何授予 bigquery.tables.updateData 权限的角色)。

配置节点

Anchor link to
  1. 从左侧面板的 集成 部分将 BigQuery:插入行 拖到画布上。
  2. 双击节点并输入 步骤名称。
  3. 在 项目 ID 中,输入 Google Cloud 项目 ID。请使用 ID 而不是显示名称,例如 my-analytics-prod。
BigQuery 插入行抽屉,已填写步骤名称,项目 ID 设置为 my-analytics-prod
  1. 在 数据集 中,输入数据集名称。
数据集字段设置为 marketing
  1. 在 表 中,输入表名称。
表字段设置为 journey_events
  1. 在 列 中,为要写入的每个 BigQuery 列添加一行。输入列名和值。名称必须非空且唯一。您列出的每一列都必须存在于表的模式中。值可以是固定文本或旅行者宏,例如 {{tag:Name}},与 Webhook 主体中的宏相同。或者单击 插入动态值 来选择此旅程中先前步骤产生的属性,例如 LLM 响应或映射的 Webhook 值。
列名和值表格,其中 device_id 映射到设备 hwid 宏
  1. 单击 保存。

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

步骤运行后的属性

Anchor link to

此节点在成功时不返回属性。如果 BigQuery 拒绝某一行,错误将被写入 bigquery_insert_error。请参阅 失败和意外响应。

失败和意外响应

Anchor link to

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

  • 401 — Google 连接丢失或已过期。请在 设置 > 第三方集成 下重新连接。
  • 403 并显示 accessDenied: Streaming insert is not allowed in the free tier — 项目未附加结算帐户。此节点使用的流式插入不属于 BigQuery 沙盒的一部分。在项目上启用结算后,相同的请求即可通过。
  • 403 并显示 accessDenied 或 insufficientPermissions — 连接是在添加 BigQuery 支持之前授予的(请重新连接),或者 Google 帐户对该数据集没有写入权限。
  • 403 并显示 quotaExceeded 或 rateLimitExceeded — 项目的流式插入配额已用完。无需重新连接。旅程必须减少发送量,或者必须在 Google Cloud 中提高配额。
  • 404 — 项目、数据集或表名不匹配任何内容。

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

示例场景:填充 BigQuery 报告表

Anchor link to

一个团队希望将旅程活动记录在他们已有的计划报告所查询的同一个 BigQuery 数据集中。

  1. 在您想要记录的步骤之后立即添加 BigQuery:插入行。将 数据集 设置为 marketing,表 设置为 journey_events。在 列 中,将 device_id 设置为 {{device:hwid}}。
  2. 单击 保存。

一旦运行,该行数据就会进入计划查询所读取的同一个表中,因此下一次报告运行时就会包含它。