Executar tarefas programaticamente
Para executar uma tarefa do BigQuery programaticamente através da API REST ou das bibliotecas cliente:
- Chame o método
jobs.insert
. - Peça periodicamente o recurso de trabalho e examine a propriedade de estado para saber quando o trabalho está concluído.
- Verifique se a tarefa foi concluída com êxito.
Antes de começar
Conceda funções de gestão de identidade e acesso (IAM) que dão aos utilizadores as autorizações necessárias para realizar cada tarefa neste documento.
Autorizações necessárias
Para executar uma tarefa do BigQuery, precisa da autorização de IAM bigquery.jobs.create
.
Cada uma das seguintes funções de IAM predefinidas inclui as autorizações de que precisa para executar uma tarefa:
roles/bigquery.user
roles/bigquery.jobUser
roles/bigquery.admin
Além disso, quando cria uma tarefa, são-lhe concedidas automaticamente as seguintes autorizações para essa tarefa:
bigquery.jobs.get
bigquery.jobs.update
Para mais informações sobre as funções e as autorizações do IAM no BigQuery, consulte o artigo Funções e autorizações predefinidas.
Executar tarefas
Para executar um trabalho de forma programática:
Inicie a tarefa chamando o método
jobs.insert
. Quando chamar o métodojobs.insert
, inclua uma representação do recurso de tarefa.Na secção
configuration
do recurso de tarefa, inclua uma propriedade subordinada que especifique o tipo de tarefa:load
,query
,extract
oucopy
.Depois de chamar o método
jobs.insert
, verifique o estado da tarefa chamandojobs.get
com o ID da tarefa e a localização, e verifique o valorstatus.state
para saber o estado da tarefa. Quandostatus.state
éDONE
, a tarefa deixou de ser executada. No entanto, um estadoDONE
não significa que a tarefa tenha sido concluída com êxito, apenas que já não está a ser executada.Verifique se a tarefa foi bem-sucedida. Se a tarefa tiver uma propriedade
errorResult
, significa que falhou. A propriedadestatus.errorResult
contém informações que descrevem o que correu mal num trabalho com falhas. Sestatus.errorResult
estiver ausente, a tarefa foi concluída com êxito, embora possam ter ocorrido alguns erros não fatais, como problemas na importação de algumas linhas numa tarefa de carregamento. Os erros não fatais são devolvidos na listastatus.errors
do trabalho.
Executar tarefas com bibliotecas de cliente
Para criar e executar uma tarefa através das bibliotecas cliente do Google Cloud para o BigQuery:
C#
Antes de experimentar este exemplo, siga as C#instruções de configuração no início rápido do BigQuery com bibliotecas cliente. Para mais informações, consulte a API C# BigQuery documentação de referência.
Para se autenticar no BigQuery, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Java
Antes de experimentar este exemplo, siga as Javainstruções de configuração no início rápido do BigQuery com bibliotecas cliente. Para mais informações, consulte a API Java BigQuery documentação de referência.
Para se autenticar no BigQuery, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Python
Antes de experimentar este exemplo, siga as Pythoninstruções de configuração no início rápido do BigQuery com bibliotecas cliente. Para mais informações, consulte a API Python BigQuery documentação de referência.
Para se autenticar no BigQuery, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Adicionar etiquetas de trabalhos
Pode adicionar etiquetas a tarefas de consulta através da linha de comandos com a flag --label
da ferramenta de linha de comandos bq. A ferramenta bq suporta a adição de etiquetas apenas a tarefas de consulta.
Também pode adicionar uma etiqueta a uma tarefa quando é enviada através da API especificando a propriedade labels
na configuração da tarefa quando chama o método jobs.insert
. A API pode ser usada para adicionar etiquetas a qualquer tipo de tarefa.
Não pode adicionar nem atualizar etiquetas em tarefas pendentes, em execução ou concluídas.
Quando adiciona uma etiqueta a um trabalho, a etiqueta é incluída nos seus dados de faturação.
Para mais informações, consulte o artigo Adicionar etiquetas de emprego.
O que se segue?
- Consulte o artigo Executar consultas para ver um exemplo de código que inicia e sonda uma tarefa de consulta.
- Para mais informações sobre como criar uma representação de recursos de trabalhos, consulte a página de vista geral de trabalhos na referência da API.