Monitorare lo stato del job utilizzando le notifiche Pub/Sub e BigQuery

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

  1. Se non hai mai utilizzato Batch, rivedi Inizia a utilizzare Batch e abilita Batch, completando prerequisiti per progetti e utenti.
  2. Se vuoi configurare le notifiche Pub/Sub per il tuo Esegui i job batch:
    1. Enable the Pub/Sub API.

      Enable the API

    2. 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.

  3. 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:
    1. Enable the BigQuery API.

      Enable the API

    2. 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.

    3. 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:

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:

  1. Crea o identifica un argomento Pub/Sub per i tuoi job batch.
  2. Crea almeno una sottoscrizione per il tuo argomento per ricevere e utilizzare le relative notifiche.
  3. 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:

  1. 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.
  2. 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:

  1. Se non l'hai ancora fatto, Creare o identificare un argomento Pub/Sub per Batch.

  2. Se non ne hai già uno, crea un set di dati BigQuery.

  3. 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"
      }
    ]
    
  4. 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