Ao iniciar um job do BigQuery usando o conector do BigQuery, o fluxo de trabalho pode não aguardar automaticamente a conclusão do job. Se as etapas subsequentes dependem do sucesso do job, implemente um mecanismo de pesquisa.
Muitos conectores do Workflows retornam um
recurso de operação de longa duração (LRO, na sigla em inglês) que pode
ser pesquisado. Embora alguns conectores retornem um recurso do tipo Operation para
representar um LRO, o BigQuery usa um
Job recurso
para essa finalidade. Outros serviços, como o Cloud Build ou o Compute Engine, retornam um recurso Operation real. Para uma lista dos tipos de recursos de LRO, consulte
Conectores compatíveis.
Pesquisa automática
É possível pesquisar automaticamente a conclusão de um job do BigQuery
ao usar métodos de conector que retornam um recurso de LRO, como
googleapis.bigquery.v2.jobs.insert.
Quando você usa um método de conector, o Workflows bloqueia a execução do fluxo de trabalho até que a operação seja bem-sucedida ou falhe. O campo connector_params permite personalizar o comportamento da pesquisa, incluindo o tempo limite total e a frequência das verificações de status. Para mais informações, consulte
Invocar uma chamada de conector.
Por exemplo, o fluxo de trabalho a seguir demonstra como iniciar um job do BigQuery usando o método jobs.insert e configurar a pesquisa do job com uma política que usa configurações personalizadas em vez das configurações padrão:
YAML
JSON
Pesquisa manual
A pesquisa automática só se aplica a métodos que retornam um recurso de LRO. Métodos síncronos padrão
como
googleapis.bigquery.v2.jobs.query
não oferecem suporte à pesquisa automática e podem exigir
pesquisa manual se a consulta levar
mais tempo do que o tempo limite da API interna.
Por exemplo, o fluxo de trabalho a seguir demonstra como pesquisar a conclusão
de um job do BigQuery diretamente no fluxo de trabalho usando o
getQueryResults método:
YAML
JSON
A seguir
- Visão geral do conector da API BigQuery
- Referência dos conectores
- Visão geral da sintaxe do Workflows