Questo documento spiega come monitorare le modifiche dello stato di job e attività impostando le notifiche Pub/Sub. Puoi utilizzare le notifiche per vari casi d'uso, ad esempio, questo documento spiega come trasmettere le notifiche in una tabella BigQuery, che puoi utilizzare per analizzare i dati. Per saperne di più sui casi d'uso delle notifiche Pub/Sub, consulta Scegliere un tipo di sottoscrizione nella documentazione di Pub/Sub.
Prima di iniziare
- Se non hai mai utilizzato Batch, consulta Inizia a utilizzare Batch e abilita Batch completando i prerequisiti per progetti e utenti.
- Se vuoi configurare le notifiche Pub/Sub per i tuoi job batch, segui questi passaggi:
-
Attiva l'API Pub/Sub.
-
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
) per un progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.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 e analizzare
le notifiche in una tabella BigQuery, devi seguire questi passaggi:
-
Attiva l'API BigQuery.
-
Per assicurarti che l'account di servizio Pub/Sub disponga delle autorizzazioni necessarie per trasmettere notifiche Pub/Sub a 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 maggiori informazioni sull'assegnazione di questo ruolo, consulta Assegnare i ruoli BigQuery all'account di servizio Pub/Sub.
- Assicurati che tutti gli utenti che vogliono analizzare le notifiche in
BigQuery dispongano delle autorizzazioni richieste.
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 affinché il tuo argomento riceva e utilizzi le relative notifiche.
- Configura i job per inviare notifiche al tuo argomento.
Dopo aver configurato le notifiche Pub/Sub per Batch, puoi facoltativamente configurare ciascun job in modo che invii notifiche specifiche. Puoi ricevere notifiche ogni volta che gli stati del job o dell'attività cambiano oppure puoi filtrare le notifiche per stati specifici del job o dell'attività. In particolare, Pub/Sub non invia notifiche per il primo stato in cui entra un job o un'attività; Pub/Sub invia notifiche solo quando un job passa da uno stato a un altro. Per ulteriori informazioni sugli attributi che puoi configurare per le notifiche Pub/Sub, consulta Creare ed eseguire un job che invia notifiche dello stato di 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 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 consentono.
Crea un abbonamento per ricevere e usare le notifiche
Per ricevere e utilizzare i messaggi pubblicati in un argomento Pub/Sub, devi creare almeno una sottoscrizione all'argomento.
Ad esempio, un'opzione è configurare l'argomento per trasmettere le notifiche in streaming a BigQuery. Quindi, quando esegui job che pubblicano notifiche, puoi ricevere e analizzare le notifiche in una tabella BigQuery. Per ulteriori informazioni, consulta Esempio: ricevere e utilizzare 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.
Configura i job per inviare notifiche al tuo argomento
Per configurare i job che inviano notifiche Pub/Sub all'argomento, segui le istruzioni riportate nella pagina Creare ed eseguire un job che invia notifiche dello stato Pub/Sub. In particolare, segui questi passaggi:
- Se non lo hai già fatto, chiedi all'amministratore di concedere tutte le autorizzazioni necessarie ai job per inviare notifiche al tuo argomento Pub/Sub. Queste autorizzazioni sono elencate nella sezione Ruoli obbligatori di questa pagina.
- Crea ed esegui un job che abilita le notifiche Pub/Sub definendo il campo
notifications
del job.
Esempio: ricevere e utilizzare le notifiche Pub/Sub in BigQuery
Le sezioni seguenti spiegano un caso d'uso di esempio per la ricezione e l'utilizzo delle notifiche Pub/Sub in BigQuery. Configurando una sottoscrizione che trasmette i flussi delle notifiche Pub/Sub dell'argomento a una tabella BigQuery, puoi conservare la cronologia delle modifiche dello stato dei job e delle attività ed eseguire query su queste modifiche.
Configura una sottoscrizione che trasmette i flussi di notifiche a BigQuery
Configura una sottoscrizione Pub/Sub per il flusso di notifiche da un argomento a una tabella BigQuery seguendo questi passaggi:
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 per i flussi di dati a BigQuery e specifica le seguenti opzioni:
- Argomento: seleziona l'argomento Pub/Sub per Batch.
- Progetto: seleziona il progetto che contiene la tua tabella BigQuery.
- Set di dati: seleziona il set di dati contenente la tabella BigQuery.
- Tabella: seleziona la tabella che hai creato nel passaggio precedente.
- Seleziona Utilizza schema argomento.
- Seleziona Scrivi metadati.
Ora, ogni volta che viene inviata una notifica Pub/Sub all'argomento, Pub/Sub trasmette la notifica in modalità flusso alla tabella BigQuery. Dopo aver configurato i job per l'invio di notifiche Pub/Sub, puoi analizzare le notifiche in BigQuery.
Analizza le notifiche in BigQuery
Puoi analizzare le notifiche in BigQuery dopo aver configurato una sottoscrizione a una tabella BigQuery per l'argomento ed eseguito job che inviano notifiche all'argomento. Per analizzare le notifiche
in BigQuery, esegui una query
nella colonna attributes
della tabella BigQuery. Gli attributi su cui puoi eseguire query dipendono dal fatto che tu abbia configurato o meno le notifiche per le attività o i 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 lavori:
JobUID
JobName
NewJobState
Region
Type
Ad esempio, la seguente query mostra il valore 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ù sugli abbonamenti Pub/Sub.
- Scopri di più sull'analisi di BigQuery.