Questo documento spiega come monitorare le modifiche dello stato dei job e delle attività impostando le notifiche Pub/Sub. Puoi utilizzare le notifiche per casi d'uso diversi; ad esempio, questo documento spiega come lo streaming notifiche a una tabella BigQuery, che puoi utilizzare per analizzare e i dati di Google Cloud. Per saperne di più sui casi d'uso delle notifiche Pub/Sub, consulta Scegliere un tipo di abbonamento nella documentazione di Pub/Sub.
In alternativa, se vuoi esportare tutte le informazioni su un job in BigQuery, consulta Esportare le informazioni sul job .
Prima di iniziare
- Se non hai mai utilizzato Batch, rivedi Inizia a utilizzare Batch e abilita Batch, completando prerequisiti per progetti e utenti.
- Se vuoi configurare le notifiche Pub/Sub per il tuo
Esegui i job batch:
-
Enable the Pub/Sub API.
-
Per ottenere le autorizzazioni necessarie per configurare un argomento e una sottoscrizione Pub/Sub, chiedi all'amministratore di concederti Ruolo IAM dell'editor Pub/Sub (
roles/pubsub.editor
) su 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 la ruoli o altri ruoli predefiniti ruoli.
-
- I requisiti aggiuntivi variano in base al tipo di abbonamento sottoscritto
per la configurazione. Ad esempio, se vuoi trasmettere in streaming e analizzare
notifiche a una tabella BigQuery, devi fare quanto segue:
-
Enable the BigQuery API.
-
per assicurarti che l'account di servizio Pub/Sub disponga delle risorse necessarie le autorizzazioni per trasmettere notifiche Pub/Sub a BigQuery, chiedi all'amministratore di concedere all'account di servizio Pub/Sub la 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 per cui vuoi analizzare le notifiche
BigQuery dispone delle autorizzazioni necessarie.
Per ottenere le autorizzazioni necessarie per eseguire query sulle notifiche Pub/Sub in BigQuery, chiedi all'amministratore di concederti seguenti ruoli IAM:
-
Utente job BigQuery (
roles/bigquery.jobUser
) del 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 al job degli stati delle attività, che puoi utilizzare per avvisi, osservabilità o analisi.
Per configurare le notifiche Pub/Sub per uno o più batch job, completa i passaggi descritti nelle seguenti sezioni:
- 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 lo stato del job o dell'attività cambia oppure puoi filtrare notifiche per stati specifici di job o attività. In particolare, Pub/Sub non inviare 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 informazioni sugli attributi che puoi configurare per Pub/Sub notifiche, vedi Crea ed esegui un job che invia notifiche dello stato Pub/Sub.
Crea o identifica un argomento Pub/Sub per Batch
Crea un nuovo argomento Pub/Sub oppure identificare 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 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 devi creare almeno una sottoscrizione all'argomento.
Ad esempio, un'opzione è configurare l'argomento per trasmettere in streaming notifiche a BigQuery. 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 scoprire di più sugli abbonamenti e altre opzioni di abbonamento, vedi Panoramica degli abbonamenti nella documentazione di Pub/Sub.
Configura i job per inviare notifiche al tuo argomento
Per configurare job che inviano notifiche Pub/Sub al tuo segui le istruzioni nella Crea ed esegui un job che invia notifiche di stato Pub/Sub . In particolare, segui questi passaggi:
- Se non lo hai già fatto, chiedi all'amministratore di concedere tutte le autorizzazioni necessaria 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 abilita le notifiche Pub/Sub
definendo il campo
notifications
del job.
Esempio: ricevere e utilizzare 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. Se configuri 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 una sottoscrizione Pub/Sub che trasmette i flussi di notifiche da un a una tabella BigQuery, procedendo nel seguente modo:
Se non l'hai ancora fatto, Creare o identificare un argomento Pub/Sub per Batch.
Se non ne hai già uno, crea un set di dati BigQuery.
Creare 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 specificare 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 Scrivere 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 inviare notifiche Pub/Sub, puoi analizzare le notifiche in BigQuery.
Analizza le notifiche in BigQuery
Puoi analizzare le notifiche in BigQuery dopo aver configurato
sottoscrizione a una tabella BigQuery per l'argomento ed eseguire job
inviare notifiche sul tuo argomento. Per analizzare le notifiche:
in BigQuery, esegui una query
nella colonna attributes
della tabella BigQuery. Gli attributi che
puoi eseguire query a seconda che tu abbia configurato 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 job:
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ù su Sottoscrizioni Pub/Sub.
- Scopri di più su Analisi di BigQuery.