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étodo- jobs.insert, inclua uma representação do recurso de tarefa.
- Na secção - configurationdo recurso de tarefa, inclua uma propriedade subordinada que especifique o tipo de tarefa:- load,- query,- extractou- copy.
- Depois de chamar o método - jobs.insert, verifique o estado da tarefa chamando- jobs.getcom o ID da tarefa e a localização, e verifique o valor- status.statepara saber o estado da tarefa. Quando- status.stateé- DONE, a tarefa deixou de ser executada. No entanto, um estado- DONEnã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 propriedade- status.errorResultcontém informações que descrevem o que correu mal num trabalho com falhas. Se- status.errorResultestiver 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 lista- status.errorsdo 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.