Supervisa el estado del trabajo mediante notificaciones de Pub/Sub y BigQuery

En este documento, se explica cómo puedes supervisar los cambios de estado del trabajo mediante notificaciones de Pub/Sub y cómo transmitir esas notificaciones a BigQuery de manera opcional.

Antes de comenzar

Funciones obligatorias

Usa las notificaciones de Pub/Sub con Batch

Batch admite notificaciones de Pub/Sub sobre los estados de los trabajos y las tareas para alertas, observabilidad o uso con BigQuery.

Puedes recibir notificaciones cada vez que cambie el estado de un trabajo o una tarea, o puedes filtrar según los estados especificados de la tarea o el trabajo. Los atributos de notificaciones de estado de tareas se aplican a todas las tareas de un trabajo, no a tareas específicas dentro de un trabajo. Para obtener más información sobre los estados de los trabajos y las tareas, consulta Ciclo de vida de los trabajos.

Habilita las notificaciones para un trabajo

Si quieres habilitar las notificaciones de Pub/Sub para un trabajo, haz lo siguiente:

  1. Crea un tema de Pub/Sub en el mismo proyecto en el que deseas ejecutar tu trabajo por lotes.
  2. De manera opcional, configura Pub/Sub para transmitir notificaciones a BigQuery.
  3. Crea un trabajo que envíe notificaciones de Pub/Sub.

Configura Pub/Sub para transmitir notificaciones a BigQuery

Si deseas conservar el historial de cambios de estado de trabajos y tareas y consultar esos cambios, puedes transmitir las notificaciones de Pub/Sub a BigQuery mediante las siguientes acciones:

  1. Si aún no lo hiciste, habilita las notificaciones de un trabajo.

  2. Si aún no tienes uno, crea un conjunto de datos de BigQuery.

  3. Crea una tabla de BigQuery con la siguiente definición de esquema:

    [
      {
        "name": "data",
        "type": "STRING"
      },
      {
        "name": "subscription_name",
        "type": "STRING"
      },
      {
        "name": "message_id",
        "type": "STRING"
      },
      {
        "name": "attributes",
        "type": "JSON"
      },
      {
        "name": "publish_time",
        "type": "TIMESTAMP",
        "mode": "NULLABLE"
      }
    ]
    
  4. Crea una suscripción de Pub/Sub que se transmita a BigQuery y especifica lo siguiente:

    • Tema: Selecciona el tema de Pub/Sub que creaste anteriormente.
    • Project: Selecciona el proyecto que contiene tu tabla de BigQuery.
    • Conjunto de datos: Selecciona el conjunto de datos que contiene la tabla de BigQuery.
    • Tabla: Selecciona la tabla que creaste en el paso anterior.
    • Selecciona Use topic schema.
    • Selecciona Escribir metadatos.

A medida que se ejecuta el trabajo por lotes, Pub/Sub transmite notificaciones a BigQuery.

Analiza notificaciones en BigQuery

Analizar las notificaciones de Pub/Sub en BigQuery mediante la ejecución de una consulta en la columna attributes de la tabla de BigQuery Los atributos que puedes consultar dependen de si configuraste notificaciones para tareas o trabajos.

Puedes consultar los siguientes atributos de las notificaciones de tareas:

  • JobUID
  • NewTaskState
  • Region
  • TaskName
  • TaskUID
  • Type

Puedes consultar los siguientes atributos de notificaciones de trabajos:

  • JobUID
  • JobName
  • NewJobState
  • Region
  • Type

Por ejemplo, la siguiente consulta muestra el JobUID asociado con cada notificación:

select attributes.JobUID from `example-table`

¿Qué sigue?