En este documento, se explica cómo supervisar los cambios de estado de los trabajos y las tareas mediante configurar notificaciones de Pub/Sub. Puedes usar las notificaciones para casos de uso; p. ej., en este documento, se explica cómo transmitir notificaciones a una tabla de BigQuery, que puedes usar para analizar el de datos no estructurados. Para obtener más información sobre los casos de uso de las notificaciones de Pub/Sub, consulta Elige un tipo de suscripción en la documentación de Pub/Sub.
Como alternativa, si quieres exportar toda la información sobre un trabajo a BigQuery, consulta Exporta información del trabajo. en su lugar.
Antes de comenzar
- Si nunca usaste Batch, revisa Comienza a usar Batch y habilitar Batch completando el requisitos previos para los proyectos y usuarios.
- Si quieres configurar las notificaciones de Pub/Sub para tu
En los trabajos por lotes, haz lo siguiente:
-
Enable the Pub/Sub API.
-
Si quieres obtener los permisos que necesitas para configurar un tema y una suscripción en Pub/Sub, sigue estos pasos: solicita a tu administrador que te otorgue el Rol de IAM de Editor de Pub/Sub (
roles/pubsub.editor
) en un proyecto. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.También puedes obtener los permisos necesarios mediante roles personalizados o cualquier otro rol predefinido.
-
- Los requisitos adicionales varían según el tipo de suscripción que
decidir configurar. Por ejemplo, si quieres transmitir y analizar
notificaciones a una tabla de BigQuery, debes hacer lo siguiente:
-
Enable the BigQuery API.
-
Para asegurarte de que la cuenta de servicio de Pub/Sub tenga permisos para transmitir notificaciones de Pub/Sub a BigQuery, solicita a tu administrador que otorgue el acceso a la cuenta de servicio de Pub/Sub Rol de IAM de editor de datos de BigQuery (
roles/bigquery.dataEditor
) en el proyecto del tema de Pub/Sub.Para obtener más información sobre cómo asignar este rol, consulta Asigna roles de BigQuery a la cuenta de servicio de Pub/Sub.
- Asegúrate de que todos los usuarios que quieras analizar las notificaciones en
BigQuery tienen los permisos necesarios.
Para obtener los permisos que necesitas para consultar notificaciones de Pub/Sub en BigQuery, pídele a tu administrador que te otorgue los siguientes roles de IAM:
-
Usuario de trabajo de BigQuery (
roles/bigquery.jobUser
) en el proyecto de la tabla de BigQuery -
Visualizador de datos de BigQuery (
roles/bigquery.dataViewer
) en la tabla de BigQuery
-
Usuario de trabajo de BigQuery (
-
Configura notificaciones de Pub/Sub para Batch
Batch admite notificaciones de Pub/Sub sobre cambios en los trabajos y estados de tareas, que puedes usar para alertas, observabilidad o análisis.
Para configurar las notificaciones de Pub/Sub para uno o más lotes, sigue estos pasos: trabajos, completa los pasos que se describen en las siguientes secciones:
- Crea o identifica un tema de Pub/Sub para tus trabajos por lotes.
- Crea al menos una suscripción para que tu tema reciba y use sus notificaciones.
- Configura trabajos para enviar notificaciones a tu tema.
Después de configurar las notificaciones de Pub/Sub para Batch, puedes configurar de forma opcional cada trabajo para que envíe notificaciones específicas. Puedes recibir notificaciones cuando los estados de los trabajos o tareas cambien, o puedes filtrar el notificaciones para estados específicos de trabajos o tareas. En particular, Pub/Sub no envía notificaciones para el primer estado en el que entra una tarea o un trabajo. Solo envía notificaciones cuando una tarea pasa de un estado a otro. Para ver más información sobre los atributos que puedes configurar para Pub/Sub notificaciones, consulta Crea y ejecuta un trabajo que envíe notificaciones de estado de Pub/Sub.
Crea o identifica un tema de Pub/Sub para Batch
Crea un tema de Pub/Sub nuevo o identificar un tema de Pub/Sub existente que quieres usar para las notificaciones por lotes.
Como se explica más adelante en este documento, los trabajos no pueden enviar notificaciones a este tema de Pub/Sub hasta que el administrador otorgue permisos que lo permiten.
Crea una suscripción para recibir y usar las notificaciones
Para recibir y usar mensajes publicados en un tema de Pub/Sub, debes crear al menos una suscripción a ese tema.
Una opción es configurar tu tema para que transmita su notificaciones a BigQuery. Luego, cuando ejecutes trabajos publicar notificaciones, puedes recibirlas y analizarlas en un en la tabla de BigQuery. Para obtener más información, consulta Ejemplo: recibe y usa notificaciones de Pub/Sub en BigQuery en este documento.
De lo contrario, para obtener más información sobre las suscripciones y otras opciones de suscripción, consulta En Descripción general de las suscripciones documentación de Pub/Sub.
Configura trabajos para enviar notificaciones a tu tema
Para configurar trabajos que envían notificaciones de Pub/Sub a tu sigue las instrucciones Crea y ejecuta un trabajo que envíe notificaciones de estado de Pub/Sub . En particular, haz lo siguiente:
- Si aún no lo hiciste, pídele al administrador que otorgue todos los permisos necesarios para que las tareas envíen notificaciones a tu tema de Pub/Sub. Estos permisos se enumeran en la sección Roles obligatorios de esa página.
- Crear y ejecutar un trabajo que habilite las notificaciones de Pub/Sub
Definiendo el campo
notifications
del trabajo
Ejemplo: Recibe y usa notificaciones de Pub/Sub en BigQuery
En las siguientes secciones, se explica un caso de uso de ejemplo para recibir y usar Notificaciones de Pub/Sub en BigQuery. Con la configuración de un suscripción que transmite las notificaciones de Pub/Sub de tu tema a un tabla de BigQuery, puedes retener el historial del estado de los trabajos y las tareas y consultarlos.
Configura una suscripción que transmita notificaciones a BigQuery
Configurar una suscripción a Pub/Sub que transmita notificaciones desde un tema a una tabla de BigQuery de la siguiente manera:
Si aún no lo has hecho, Crea o identifica un tema de Pub/Sub para Batch.
Si aún no tienes uno, Crea un conjunto de datos de BigQuery.
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" } ]
Crea una suscripción a Pub/Sub que transmita a BigQuery y especifica las siguientes opciones:
- Tema: Selecciona el tema de Pub/Sub para Batch.
- Proyecto: Selecciona el proyecto que contiene tu tabla de BigQuery.
- Conjunto de datos: Selecciona el conjunto de datos que contenga tu tabla de BigQuery.
- Tabla: Selecciona la tabla que creaste en el paso anterior.
- Selecciona Usar el esquema de tema.
- Selecciona Escribir metadatos.
Cada vez que se envíe una notificación de Pub/Sub a ese tema, Pub/Sub transmite esa notificación a la tabla de BigQuery. Después de configurar trabajos para enviar notificaciones de Pub/Sub, puedes analizar las notificaciones en BigQuery.
Analiza notificaciones en BigQuery
Puedes analizar las notificaciones en BigQuery después de configurar una
a una tabla de BigQuery para tu tema y ejecutar trabajos que
envía notificaciones a tu tema. Cómo analizar las notificaciones
en BigQuery, ejecuta una consulta.
en la columna attributes
de la tabla de BigQuery. Los atributos que
dependerá 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 trabajo:
JobUID
JobName
NewJobState
Region
Type
Por ejemplo, la siguiente consulta muestra el JobUID
asociado a cada
notificación:
select attributes.JobUID from `example-table`
¿Qué sigue?
- Obtén más información sobre cómo crear y ejecutar un trabajo que envía notificaciones de estado de Pub/Sub.
- Obtén más información sobre Suscripciones a Pub/Sub.
- Obtén más información sobre Estadísticas de BigQuery.