Quando avvii un job BigQuery utilizzando il connettore BigQuery, il flusso di lavoro potrebbe non attendere automaticamente il completamento del job. Se i passaggi successivi dipendono dal successo del job, devi implementare un meccanismo di polling.
Molti connettori Workflows restituiscono una
risorsa di operazione a lunga esecuzione (LRO) che può
essere sottoposta a polling. Mentre alcuni connettori restituiscono una risorsa di tipo Operation per
rappresentare una LRO, BigQuery utilizza una
Job risorsa
a questo scopo. Altri servizi, come Cloud Build o Compute Engine, restituiscono una risorsa Operation effettiva. Per un elenco dei tipi di risorse LRO, consulta
Connettori supportati.
Polling automatico
Puoi eseguire automaticamente il polling per il completamento di un job BigQuery
quando utilizzi metodi di connettori che restituiscono una risorsa LRO, ad esempio
googleapis.bigquery.v2.jobs.insert.
Quando utilizzi un metodo di connettore di questo tipo, Workflows blocca l'esecuzione del flusso di lavoro finché l'operazione non va a buon fine o non genera un errore. Il campo connector_params ti consente di personalizzare il comportamento di polling, inclusi il timeout totale e la frequenza dei controlli di stato. Per saperne di più, vedi
Richiamare una chiamata al connettore.
Ad esempio, il seguente flusso di lavoro mostra l'avvio di un job BigQuery utilizzando il metodo jobs.insert e la configurazione del polling del job con un criterio che utilizza impostazioni personalizzate anziché quelle predefinite:
YAML
JSON
Polling manuale
Il polling automatico si applica solo ai metodi che restituiscono una risorsa LRO. I metodi sincroni standard
come
googleapis.bigquery.v2.jobs.query
non supportano il polling automatico e potrebbero richiedere
il polling manuale se la query richiede
più tempo del timeout dell'API interna.
Ad esempio, il seguente flusso di lavoro mostra come eseguire il polling per il completamento
di un job BigQuery direttamente all'interno del flusso di lavoro utilizzando il
getQueryResults metodo:
YAML
JSON
Passaggi successivi
- Panoramica del connettore dell'API BigQuery
- Riferimento connettori
- Panoramica della sintassi di Workflows