Saltar al contenido

BigQuery: insertar fila

Usa BigQuery: insertar fila para transmitir una fila a una tabla de BigQuery desde un paso de un journey, a través de la API de inserción por streaming. Al igual que en Google Sheets: agregar fila, este punto se autentica a través de la cuenta de Google conectada una vez para toda la cuenta. No hay un campo de token en el punto mismo.

Usos típicos:

  • Alimentar una tabla de informes: inserta una fila por cada paso del journey alcanzado, para un panel de control o una consulta programada posterior.
  • Registrar eventos a medida que ocurren: transmite datos brutos del journey a BigQuery en lugar de esperar una exportación por lotes.
  • Unir con datos existentes: inserta un valor de dispositivo o de Tag con el que tus tablas de BigQuery puedan unirse a tus propios conjuntos de datos.

Antes de empezar

Anchor link to

Conecta una cuenta de Google en Ajustes > Integraciones de terceros > Google. Esta es la misma conexión que utiliza Google Sheets: agregar fila. Después de conectar Google, instala la integración para que el punto aparezca en el constructor de journeys.

Esta no es la tarjeta de Google BigQuery en esa página. Esa es la integración de BigQuery: transmite cada evento de mensaje de una aplicación a un esquema fijo en una clave de cuenta de servicio. Este punto escribe una fila que tú defines, en el paso en el que lo colocas, y no toma ninguna clave propia.

Ajustes de integraciones de terceros que muestra la tarjeta de conexión de Google junto a la tarjeta separada de Google BigQuery

También es necesario que dos cosas estén en su lugar en el lado de Google Cloud, o la solicitud fallará:

  • El conjunto de datos y la tabla ya deben existir. Este punto escribe filas. Nunca crea una tabla.
  • La cuenta de Google conectada necesita el rol de Editor de datos de BigQuery (o cualquier rol que otorgue bigquery.tables.updateData) en ese conjunto de datos.

Configurar el punto

Anchor link to
  1. Arrastra BigQuery: insertar fila desde la sección de Integraciones del panel izquierdo al lienzo.
  2. Haz doble clic en el punto e introduce un Nombre del paso.
  3. En ID del proyecto, introduce el ID del proyecto de Google Cloud. Usa el ID, no el nombre para mostrar, por ejemplo, my-analytics-prod.
Panel de BigQuery: insertar fila con el Nombre del paso rellenado y el ID del proyecto establecido en my-analytics-prod
  1. En Conjunto de datos, introduce el nombre del conjunto de datos.
Campo de Conjunto de datos establecido en marketing
  1. En Tabla, introduce el nombre de la tabla.
Campo de Tabla establecido en journey_events
  1. En Columnas, añade una fila por cada columna de BigQuery en la que escribir. Introduce el nombre de la columna y el valor. Los nombres no deben estar vacíos y deben ser únicos. Cada columna que enumeres debe existir en el esquema de la tabla. Un valor puede ser texto fijo o una macro de viajero como {{tag:Name}}, las mismas macros que en el cuerpo de un Webhook. O haz clic en Insertar valor dinámico para elegir un atributo que un paso anterior en este journey haya producido, por ejemplo, una respuesta de LLM o un valor de Webhook mapeado.
Tabla de nombres y valores de Columnas con device_id mapeado a una macro hwid de dispositivo
  1. Haz clic en Guardar.

El viajero continúa hacia el paso que conectes a continuación en el lienzo.

Atributos después de la ejecución del paso

Anchor link to

Este punto no devuelve un atributo en caso de éxito. Si BigQuery rechaza una fila, el error se escribe en su lugar en bigquery_insert_error. Consulta Fallos y respuestas inesperadas.

Fallos y respuestas inesperadas

Anchor link to

Abre el Registro de llamadas en el panel del punto y comprueba la respuesta:

  • 401 — la conexión de Google falta o ha caducado. Vuelve a conectarla en Ajustes > Integraciones de terceros.
  • 403 con accessDenied: Streaming insert is not allowed in the free tier — el proyecto no tiene una cuenta de facturación adjunta. Las inserciones por streaming, que es lo que utiliza este punto, no forman parte del sandbox de BigQuery. Habilita la facturación en el proyecto y la misma solicitud se procesará.
  • 403 con accessDenied o insufficientPermissions — la conexión se concedió antes de que se añadiera el soporte para BigQuery (vuelve a conectarla), o la cuenta de Google no tiene acceso de escritura al conjunto de datos.
  • 403 con quotaExceeded o rateLimitExceeded — la cuota de inserción por streaming del proyecto se ha agotado. No hay nada que reconectar. El journey tiene que enviar menos, o la cuota tiene que aumentarse en Google Cloud.
  • 404 — el nombre del proyecto, conjunto de datos o tabla no coincide con nada.

Una solicitud fallida elimina al viajero del journey. Consulta Errores y solicitudes fallidas.

Escenario de ejemplo: Alimentar una tabla de informes de BigQuery

Anchor link to

Un equipo quiere la actividad del journey en el mismo conjunto de datos de BigQuery que ya consultan sus informes programados.

  1. Añade BigQuery: insertar fila justo después del paso que quieres registrar. Establece Conjunto de datos en marketing y Tabla en journey_events. En Columnas, establece device_id en {{device:hwid}}.
  2. Haz clic en Guardar.

Una vez que esto se ejecuta, la fila llega a la misma tabla de la que lee la consulta programada, por lo que la siguiente ejecución del informe ya la incluye.