Questo documento spiega come monitorare le modifiche dello stato di job e attività configurando le notifiche Pub/Sub. Puoi utilizzare le notifiche per vari casi d'uso. Ad esempio, questo documento spiega come trasmettere le notifiche a 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 sezione Guida introduttiva a Batch e attiva Batch 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 un abbonamento Pub/Sub, chiedi all'amministratore di concederti il ruolo IAM Pub/Sub Editor (
roles/pubsub.editor
) in un progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestisci 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 procedere nel seguente modo:
-
Enable the BigQuery API.
-
Per assicurarti che il account di servizio Pub/Sub disponga delle autorizzazioni necessarie per trasmettere le notifiche Pub/Sub a BigQuery, chiedi all'amministratore di concedere al account di servizio Pub/Sub il ruolo IAM Editor dati BigQuery (
roles/bigquery.dataEditor
) nel progetto dell'argomento Pub/Sub.Per saperne di più sull'assegnazione di questo ruolo, vedi Assegnare ruoli BigQuery al service account Pub/Sub.
- Assicurati che tutti gli utenti che 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 (
-
Configura 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 l'argomento per ricevere e utilizzare le relative notifiche.
- Configura i job in modo che inviino notifiche all'argomento.
Dopo aver configurato le notifiche Pub/Sub per Batch, puoi configurare facoltativamente ogni job per inviare notifiche specifiche. Puoi ricevere notifiche ogni volta che cambiano gli stati di un job o di un'attività oppure puoi filtrare le notifiche per stati specifici di job o 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 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 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 all'argomento.
Ad esempio, un'opzione è configurare l'argomento in modo da trasmettere le notifiche a BigQuery. Poi, quando esegui job che pubblicano notifiche, puoi riceverle e analizzarle in una tabella BigQuery. Per ulteriori informazioni, vedi Esempio: ricevere e utilizzare le notifiche Pub/Sub in BigQuery in questo documento.
Altrimenti, per saperne di più sugli abbonamenti e sulle 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 Crea ed esegui un job che invia notifiche di stato Pub/Sub. In particolare, segui questi passaggi:
- Se non lo hai ancora fatto, chiedi all'amministratore di concedere tutte le autorizzazioni necessarie per consentire ai job di inviare notifiche all'argomento Pub/Sub. Queste autorizzazioni sono elencate nella sezione Ruoli richiesti di questa pagina.
- Crea ed esegui un job che attiva le notifiche Pub/Sub
definendo il campo
notifications
del job.
Esempio: ricezione e utilizzo delle notifiche Pub/Sub in BigQuery
Le seguenti sezioni spiegano un caso d'uso di esempio per la ricezione e l'utilizzo delle notifiche Pub/Sub in BigQuery. Se configuri un abbonamento che trasmette le notifiche Pub/Sub dell'argomento a una tabella BigQuery, puoi conservare la cronologia delle modifiche dello stato di job e attività ed eseguire query su queste modifiche.
Configura una sottoscrizione che trasmette le notifiche a BigQuery
Configura una sottoscrizione 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 dello 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 trasmetta in streaming a BigQuery e specifica le seguenti opzioni:
- Argomento: seleziona l'argomento Pub/Sub per Batch.
- Progetto: seleziona il progetto che contiene la tabella BigQuery.
- Set di dati: seleziona il set di dati che contiene la tabella BigQuery.
- Tabella: seleziona la tabella che hai creato nel passaggio precedente.
- Seleziona Utilizza schema argomento.
- Seleziona Scrivi metadati.
Ora, ogni volta che una notifica Pub/Sub viene inviata a quell'argomento, Pub/Sub trasmette la notifica alla tabella BigQuery. Dopo aver configurato i job per l'invio di 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 l'argomento ed eseguito job che inviano notifiche all'argomento. Per analizzare le notifiche
in BigQuery, esegui una query
sulla colonna attributes
della tabella BigQuery. Gli attributi che
puoi interrogare dipendono dal fatto che tu abbia configurato le notifiche per le attività o i lavori.
Puoi eseguire query sui seguenti attributi delle notifiche delle attività:
JobUID
NewTaskState
Region
TaskName
TaskUID
Type
Puoi eseguire query sui seguenti attributi delle notifiche di lavoro:
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ù sull'analisi BigQuery.