Esecuzione programmatica dei job
Per eseguire un job BigQuery in modo programmatico utilizzando l'API REST librerie client, puoi:
- Chiama il
jobs.insert
. - Richiedi periodicamente la risorsa job ed esamina la proprietà status per scopri quando il job viene completato.
- Controlla se il job è stato completato correttamente.
Prima di iniziare
Concedi ruoli IAM (Identity and Access Management) che concedono agli utenti le autorizzazioni necessarie per eseguire ogni attività in questo documento.
Autorizzazioni obbligatorie
Per eseguire un job BigQuery, devi disporre dell'autorizzazione IAM bigquery.jobs.create
.
Ciascuno dei seguenti ruoli IAM predefiniti include le autorizzazioni necessarie per eseguire un job:
roles/bigquery.user
roles/bigquery.jobUser
roles/bigquery.admin
Inoltre, quando crei un job, ti vengono automaticamente concesse le seguenti autorizzazioni:
bigquery.jobs.get
bigquery.jobs.update
Per ulteriori informazioni su ruoli e autorizzazioni IAM in BigQuery, vedi Autorizzazioni e ruoli predefiniti.
Job in esecuzione
Per eseguire un job in modo programmatico:
Avvia il job chiamando il metodo
jobs.insert
. Quando chiami il Metodojobs.insert
, includi una risorsa job una rappresentazione visiva.In
configuration
della risorsa job, includi una proprietà figlio che specifica il job tipo:load
,query
,extract
ocopy
.Dopo aver chiamato il metodo
jobs.insert
, controlla lo stato del job chiamandojobs.get
con l'ID job e la posizione e controllastatus.state
per apprendere lo stato del job. Sestatus.state
èDONE
, il job ha esecuzione interrotta; Tuttavia, uno statoDONE
non significa che il job è stato completato correttamente, solo che non è più in esecuzione.Verifica il successo del job. Se il lavoro ha una proprietà
errorResult
, il job ha non riuscito. La proprietàstatus.errorResult
contiene informazioni che descrivono cosa è successo in un job non riuscito. Sestatus.errorResult
non è presente, il job è stato completato correttamente, anche se potrebbero essersi verificati alcuni errori non irreversibili, come problemi durante l'importazione di alcune righe in un job di caricamento. Gli errori non irreversibili vengono restituiti in all'elencostatus.errors
del job.
Esecuzione di job utilizzando le librerie client
Per creare ed eseguire un job utilizzando le librerie client di Cloud per BigQuery:
C#
Prima di provare questo esempio, segui le istruzioni per la configurazione di C# nel Guida rapida di BigQuery con librerie client. Per ulteriori informazioni, consulta API C# BigQuery documentazione di riferimento.
Per eseguire l'autenticazione su BigQuery, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per le librerie client.
Java
Prima di provare questo esempio, segui le istruzioni per la configurazione di Java nel Guida rapida di BigQuery con librerie client. Per ulteriori informazioni, consulta API Java BigQuery documentazione di riferimento.
Per eseguire l'autenticazione su BigQuery, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per le librerie client.
Python
Prima di provare questo esempio, segui le istruzioni per la configurazione di Python nel Guida rapida di BigQuery con librerie client. Per ulteriori informazioni, consulta API Python BigQuery documentazione di riferimento.
Per eseguire l'autenticazione su BigQuery, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per le librerie client.
Aggiunta di etichette di job
È possibile aggiungere etichette ai job di query tramite la riga di comando utilizzando
flag --label
dello strumento a riga di comando bq. Lo strumento bq supporta l'aggiunta di
solo per i job di query.
Puoi anche aggiungere un'etichetta a un job inviato tramite l'API specificando
la proprietà labels
nella configurazione del job quando chiami la
jobs.insert
. L'API
può essere utilizzato per aggiungere etichette a qualsiasi tipo di job.
Non puoi aggiungere etichette alle etichette né aggiornarle per quelle in attesa, in esecuzione o completate di lavoro.
Quando aggiungi un'etichetta a un job, questa viene inclusa nei dati di fatturazione.
Per ulteriori informazioni, vedi Aggiunta di etichette dei job.
Passaggi successivi
- Consulta Esecuzione di query per un di codice di esempio che avvia ed esegue il polling di un job di query.
- Per ulteriori informazioni sulla creazione di una rappresentazione di una risorsa job, consulta Pagina Panoramica dei job nell'API riferimento.