Questo documento spiega come monitorare le modifiche dello stato dei job e delle attività impostando le notifiche Pub/Sub. Puoi utilizzare le notifiche per vari casi d'uso. Ad esempio, questo documento spiega come eseguire lo streaming delle notifiche in una tabella BigQuery, che puoi utilizzare per analizzare i dati. Per scoprire di più sui casi d'uso delle notifiche Pub/Sub, consulta Scegliere un tipo di sottoscrizione nella documentazione di Pub/Sub.
In alternativa, se vuoi esportare tutte le informazioni su un job in BigQuery, consulta Esportare le informazioni sui job.
Prima di iniziare
- Se non hai mai utilizzato Batch, consulta la guida introduttiva all'utilizzo di Batch e attivalo completando i prerequisiti per progetti e utenti.
- Se vuoi configurare le notifiche Pub/Sub per i tuoi job Batch, segui questi passaggi:
-
Enable the Pub/Sub API.
-
Per ottenere le autorizzazioni necessarie per configurare un argomento e una sottoscrizione Pub/Sub, chiedi all'amministratore di concederti il ruolo IAM Editor Pub/Sub (
roles/pubsub.editor
) in un progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
-
- I requisiti aggiuntivi variano in base al tipo di abbonamento che decidi di configurare. Ad esempio, se vuoi trasmettere in streaming e analizzare
le notifiche in una tabella BigQuery, devi:
-
Enable the BigQuery API.
-
Per assicurarti che l'account di servizio Pub/Sub disponga delle autorizzazioni necessarie per eseguire lo streaming delle notifiche Pub/Sub in BigQuery, chiedi all'amministratore di concedere all'account di servizio Pub/Sub il ruolo IAM Editor dati BigQuery (
roles/bigquery.dataEditor
) nel progetto dell'argomento Pub/Sub.Per ulteriori informazioni sull'assegnazione di questo ruolo, consulta Assegnare i ruoli BigQuery all'account di servizio Pub/Sub.
- Assicurati che tutti gli utenti di cui vuoi analizzare le notifiche in BigQuery dispongano delle autorizzazioni necessarie.
Per ottenere le autorizzazioni necessarie per eseguire query sulle notifiche Pub/Sub in BigQuery, chiedi all'amministratore di concederti i seguenti ruoli IAM:
-
Utente job BigQuery (
roles/bigquery.jobUser
) nel progetto della tabella BigQuery -
Visualizzatore dati BigQuery (
roles/bigquery.dataViewer
) nella tabella BigQuery
-
Utente job BigQuery (
-
Configurare le notifiche Pub/Sub per Batch
Batch supporta le notifiche Pub/Sub per le modifiche agli stati di job e attività, che puoi utilizzare per avvisi, osservabilità o analisi.
Per configurare le notifiche Pub/Sub per uno o più job Batch, completa i passaggi descritti nelle sezioni seguenti:
- Crea o identifica un argomento Pub/Sub per i tuoi job Batch.
- Crea almeno una sottoscrizione per il tuo argomento per ricevere e utilizzare le relative notifiche.
- Configura i job per inviare notifiche al tuo argomento.
Dopo aver configurato le notifiche Pub/Sub per Batch, puoi optionally configurare ogni job in modo da inviare notifiche specifiche. Puoi ricevere notifiche ogni volta che cambiano gli stati dei job o delle attività oppure puoi filtrare le notifiche in base a stati specifici dei job o delle attività. In particolare, Pub/Sub non invia notifiche per il primo stato in cui entra un job o un'attività, ma solo quando un job passa da uno stato all'altro. Per ulteriori informazioni sugli attributi che puoi configurare per le notifiche Pub/Sub, consulta Creare ed eseguire un job che invia notifiche di stato Pub/Sub.
Crea o identifica un argomento Pub/Sub per Batch
Crea un nuovo argomento Pub/Sub o identifica un argomento Pub/Sub esistente che vuoi utilizzare per le notifiche di Batch.
Come spiegato più avanti in questo documento, i job non possono inviare notifiche a questo argomento Pub/Sub finché l'amministratore non concede autorizzazioni aggiuntive che lo consentano.
Crea un abbonamento per ricevere e utilizzare le notifiche
Per ricevere e utilizzare i messaggi pubblicati in un argomento Pub/Sub, devi creare almeno una sottoscrizione per quell'argomento.
Ad esempio, un'opzione è configurare l'argomento in modo da trasmettere le notifiche in streaming a BigQuery. Quando esegui job che pubblicano notifiche, puoi riceverle e analizzarle in una tabella BigQuery. Per ulteriori informazioni, consulta Esempio: ricevi e utilizza le notifiche Pub/Sub in BigQuery in questo documento.
In caso contrario, per saperne di più sugli abbonamenti e su altre opzioni di abbonamento, consulta la Panoramica degli abbonamenti nella documentazione di Pub/Sub.
Configurare i job per inviare notifiche all'argomento
Per configurare i job che inviano notifiche Pub/Sub al tuo argomento, segui le istruzioni riportate nella pagina Creare ed eseguire un job che invia notifiche di stato Pub/Sub. In particolare:
- Se non lo hai già fatto, chiedi all'amministratore di concedere tutte le autorizzazioni necessarie per consentire ai job di inviare notifiche al tuo argomento Pub/Sub. Queste autorizzazioni sono elencate nella sezione Ruoli richiesti di quella pagina.
- Crea ed esegui un job che attiva le notifiche Pub/Sub
definendo il campo
notifications
del job.
Esempio: ricevi e utilizza le notifiche Pub/Sub in BigQuery
Le sezioni seguenti illustrano un caso d'uso di esempio per la ricezione e l'utilizzo delle notifiche Pub/Sub in BigQuery. Configurando un abbonamento che trasmette in streaming le notifiche Pub/Sub dell'argomento in una tabella BigQuery, puoi conservare la cronologia delle modifiche dello stato dei job e delle attività ed eseguire query su queste modifiche.
Configurare una sottoscrizione che trasmette le notifiche in streaming a BigQuery
Configura un abbonamento Pub/Sub che trasmette le notifiche da un argomento a una tabella BigQuery nel seguente modo:
Se non l'hai ancora fatto, crea o identifica un argomento Pub/Sub per Batch.
Se non ne hai già uno, crea un set di dati BigQuery.
Crea una tabella BigQuery con la seguente definizione di schema:
[ { "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 sottoscrizione Pub/Sub che trasmette in streaming in BigQuery e specifica le seguenti opzioni:
- Argomento: seleziona l'argomento Pub/Sub per Batch.
- Progetto: seleziona il progetto contenente la tabella BigQuery.
- Set di dati: seleziona il set di dati contenente la tabella BigQuery.
- Tabella: seleziona la tabella creata nel passaggio precedente.
- Seleziona Utilizza schema argomento.
- Seleziona Scrivere metadati.
Ora, ogni volta che viene inviata una notifica Pub/Sub a quell'argomento, Pub/Sub la invia in streaming alla tabella BigQuery. Dopo aver configurato i job per inviare notifiche Pub/Sub, puoi analizzare le notifiche in BigQuery.
Analizzare le notifiche in BigQuery
Puoi analizzare le notifiche in BigQuery dopo aver configurato un abbonamento a una tabella BigQuery per il tuo argomento ed eseguito job che inviano notifiche al tuo argomento. Per analizzare le notifiche
in BigQuery, esegui una query
sulla colonna attributes
della tabella BigQuery. Gli attributi su cui puoi eseguire query dipendono dal fatto che tu abbia configurato le notifiche per attività o job.
Puoi eseguire query sui seguenti attributi delle notifiche delle attività:
JobUID
NewTaskState
Region
TaskName
TaskUID
Type
Puoi eseguire query sui seguenti attributi delle notifiche dei job:
JobUID
JobName
NewJobState
Region
Type
Ad esempio, la seguente query mostra il JobUID
associato a ogni
notifica:
select attributes.JobUID from `example-table`
Passaggi successivi
- Scopri come creare ed eseguire un job che invia notifiche di stato Pub/Sub.
- Scopri di più sulle sottoscrizioni Pub/Sub.
- Scopri di più su BigQuery Analytics.