Esportare le informazioni sul job

Questa pagina descrive come esportare le informazioni relative ai job memorizzate in Batch in una tabella BigQuery utilizzando i workflow. In particolare, scopri come eseguire il flusso di lavoro dei job di esportazione di esempio e come visualizzare le informazioni sui job risultanti in BigQuery.

L'esportazione delle informazioni di un job è utile quando vuoi conservarle dopo che un job è stato eliminato automaticamente o manualmente o analizzarle al di fuori di Batch. In alternativa, se vuoi esportare solo le informazioni relative alle modifiche dello stato di attività e job in BigQuery, consulta Monitorare i job utilizzando le notifiche.

Per scoprire come esportare le informazioni sui job archiviate in altri Google Cloud servizi, consulta la documentazione di esportazione del servizio in questione. Ad esempio, consulta le seguenti pagine:

Prima di iniziare

  1. Se non hai mai utilizzato Batch, consulta la guida introduttiva all'utilizzo di Batch e attivalo completando i prerequisiti per progetti e utenti.
  2. Enable the BigQuery and Workflows APIs.

    Enable the APIs

  3. (Facoltativo) Identifica un set di dati o una tabella BigQuery esistente nel tuo progetto in cui vuoi memorizzare le informazioni sul job. Una tabella esistente deve avere uno schema corrispondente.

    In caso contrario, puoi utilizzare il flusso di lavoro dei job di esportazione per creare un nuovo set di dati o una nuova tabella.

  4. Prepara un account di servizio per il flusso di lavoro dei job di esportazione nel seguente modo:

    1. Crea un nuovo account di servizio o identifica un account di servizio esistente.
    2. Per assicurarti che l'account di servizio disponga delle autorizzazioni necessarie per eseguire il flusso di lavoro dei job di esportazione, chiedi all'amministratore di concedere all'account di servizio i seguenti ruoli IAM nel progetto:

      Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.

      L'amministratore potrebbe anche essere in grado di concedere all'account di servizio le autorizzazioni richieste tramite ruoli personalizzati o altri ruoli predefiniti.

  5. Per ottenere le autorizzazioni necessarie per creare, eseguire il deployment ed eseguire il workflow dei job di esportazione, chiedi all'amministratore di concederti i seguenti ruoli IAM nel progetto:

  6. Assicurati che gli utenti del progetto possano visualizzare le informazioni sui job esportati.

    Per assicurarti che un utente disponga delle autorizzazioni necessarie per esportare le informazioni sui job, invita l'amministratore a concedere a un utente il ruolo IAM Visualizzatore dati BigQuery (roles/bigquery.dataViewer) per la tabella, il set di dati o il progetto.

Esportare le informazioni sul job

Questa sezione spiega come esportare le informazioni sui job utilizzando il flusso di lavoro export-jobs, che proviene dall'export-to-bigqueryesempio di codice. Il flusso di lavoro export-jobs esporta le informazioni relative ai job del progetto che si trovano nella regione specificata e soddisfano i criteri di filtro specificati.

Il flusso di lavoro export-jobs esporta le informazioni sui job in una tabella specificata in un set di dati specificato, che vengono creati automaticamente dal flusso di lavoro se non esistono già nel progetto. Per impostazione predefinita, il flusso di lavoro di esportazione dei job elimina anche i job esportati da Batch, ma facoltativamente puoi modificare il flusso di lavoro di esportazione dei job in modo che i job non vengano eliminati.

Per ogni flusso di lavoro di esportazione dei job che vuoi utilizzare:

  1. Configura la definizione del flusso di lavoro.
  2. Crea ed esegui il deployment del flusso di lavoro.
  3. Esegui il flusso di lavoro. Ripeti questo passaggio ogni volta che vuoi esportare i job specificati.

Configura la definizione del flusso di lavoro

  1. Scarica il file export-to-bigquery-delete-batch-jobs.yaml da GitHub.

  2. Apri il file export-to-bigquery-delete-batch-jobs.yaml in un editor di testo. Poi, apporta le seguenti modifiche:

    1. Sostituisci sys.get_env("GOOGLE_CLOUD_PROJECT_ID") con l'ID del tuo progetto visualizzato come stringa, ad esempio "my-project-id".

    2. Sostituisci sys.get_env("GOOGLE_CLOUD_LOCATION") con la regione che contiene i job da esportare, formattata come stringa, ad esempio "us-central1".

    3. (Facoltativo) Modifica i criteri di filtro che specificano i job da esportare.

      Per impostazione predefinita, il flusso di lavoro export-jobs specifica i criteri di filtro"(status.state:SUCCEEDED OR status.state:FAILED) AND create_time<=\"2023-05-01T00:00:00Z\"". Questi criteri di filtro predefiniti esportano le informazioni solo per i job nello stato SUCCEEDED o FAILED e che sono stati creati prima o entro il timestamp 2023-05-01T00:00:00Z RFC 3339.

    4. (Facoltativo) Sostituisci default_dataset_id con un nome diverso per il set di dati che vuoi che il flusso di lavoro dei job di esportazione utilizzi o crei.

    5. (Facoltativo) Sostituisci default_table_id con un nome diverso della tabella che vuoi che il flusso di lavoro dei job di esportazione utilizzi o crei.

    6. Se non vuoi che i job esportati vengano eliminati dal workflow, procedi nel seguente modo:

      1. Rimuovi le seguenti righe:

                - log_delete_step:
                    call: sys.log
                    args:
                      text: ${"Deleting Batch job " + j.name}
                      severity: NOTICE
                - delete_job:
                    call: googleapis.batch.v1.projects.locations.jobs.delete
                    args:
                      name: ${j.name}
        
      2. Rimuovi + " and deleted".

    7. Salva il file. Tieni aperto il file.

Crea ed esegui il deployment del flusso di lavoro

  1. Nella console Google Cloud, vai alla pagina Flussi di lavoro:

    Vai a Flussi di lavoro

  2. Nella pagina Flussi di lavoro, fai clic su Crea.

  3. Nel campo Nome workflow, inserisci un nome per il workflow, ad esempio export-batch-jobs-us-central1.

  4. Nell'elenco Account di servizio, seleziona l'account di servizio che hai preparato.

  5. Fai clic su Avanti.

  6. Nell'editor del flusso di lavoro, sostituisci il flusso di lavoro di esempio con i contenuti del file export-to-bigquery-delete-batch-jobs.yaml. Dopodiché puoi chiudere il file.

  7. Fai clic su Esegui il deployment. Viene visualizzata la pagina Dettagli del workflow.

Esegui il flusso di lavoro

  1. Nella pagina Dettagli flusso di lavoro, fai clic su Esegui. Si apre la pagina Esegui flusso di lavoro.

  2. Nella pagina Esegui flusso di lavoro che si apre, fai clic su Esegui.

  3. Nella pagina Dettagli esecuzione che si apre, attendi il completamento dell'esecuzione del flusso di lavoro. Ad esempio, il tempo di esecuzione per esportare ed eliminare alcuni job è in genere di pochi secondi, ma l'esecuzione potrebbe richiedere più tempo se stai esportando ed eliminando molti job.

    Al termine dell'esecuzione del flusso di lavoro, il riquadro Output mostra i risultati.

Visualizzare le informazioni sul job esportato

Questa sezione illustra come visualizzare i dati della tabella creati dal flusso di lavoro export-jobs. Ad esempio, puoi utilizzare i seguenti passaggi per verificare che il flusso di lavoro sia stato eseguito correttamente e sfogliare i dati della tabella. Per ulteriori informazioni su come visualizzare e utilizzare le informazioni sui job esportati, ad esempio scrivere query, consulta Gestire i dati delle tabelle nella documentazione di BigQuery.

  1. Nella console Google Cloud, vai alla pagina BigQuery:

    Vai a BigQuery

  2. Nel riquadro Explorer, apri la tabella per le informazioni sui job esportati:

    1. Nel campo Cerca risorse BigQuery, inserisci il nome della tabella del tuo workflow di job di esportazione. Ad esempio, il nome della tabella predefinito è default_table_id.
    2. Fai clic sul nome della tabella. Viene visualizzata la pagina dei dettagli della tabella.
    3. Nella pagina dei dettagli della tabella, fai clic sulla scheda Dettagli.

      Nella scheda Dettagli, prendi nota del timestamp Ultima modifica e del Numero di righe.

    4. Nella pagina dei dettagli della tabella, fai clic sulla scheda Anteprima.

Passaggi successivi