Esta página descreve como exportar as informações das suas tarefas armazenadas no Batch para uma tabela do BigQuery através dos fluxos de trabalho. Em concreto, saiba como executar o fluxo de trabalho export-jobs de exemplo e como ver as informações do trabalho resultantes no BigQuery.
A exportação das informações de uma tarefa é útil quando quer reter as informações depois de uma tarefa ser eliminada automaticamente ou manualmente ou analisar as informações fora do Batch. Em alternativa, se quiser exportar apenas informações de alteração de estado de tarefas e trabalhos para o BigQuery, consulte o artigo Monitorizar trabalhos através de notificações.
Para saber como exportar informações de trabalhos armazenadas noutrosGoogle Cloud serviços, consulte a documentação de exportação desse serviço. Por exemplo, consulte as seguintes páginas:
Antes de começar
- Se nunca usou o Batch, reveja o artigo Comece a usar o Batch e ative o Batch concluindo os pré-requisitos para projetos e utilizadores.
-
Enable the BigQuery and Workflows APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. Opcional: identifique um conjunto de dados ou uma tabela do BigQuery existente no seu projeto onde quer armazenar as informações da tarefa. Uma tabela existente tem de ter um esquema correspondente.
Caso contrário, pode usar o fluxo de trabalho export-jobs para criar um novo conjunto de dados ou tabela.
-
Prepare uma conta de serviço para o fluxo de trabalho de tarefas de exportação fazendo o seguinte:
- Crie uma nova conta de serviço ou identifique uma conta de serviço existente.
-
Para garantir que a conta de serviço tem as autorizações necessárias para executar o fluxo de trabalho export-jobs, peça ao seu administrador para conceder à conta de serviço as seguintes funções de IAM no projeto:
-
Escrever registos:
Logs Writer (
roles/logging.logWriter
) -
Criar e editar tabelas e conjuntos de dados do BigQuery:
Administrador do BigQuery (
roles/bigquery.admin
) -
Veja e elimine tarefas de lote:
Editor de tarefas de lote (
roles/batch.jobsEditor
)
Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.
O seu administrador também pode conceder à conta de serviço as autorizações necessárias através de funções personalizadas ou outras funções predefinidas.
-
Escrever registos:
Logs Writer (
-
Para receber as autorizações de que precisa para criar, implementar e executar o fluxo de trabalho export-jobs, peça ao seu administrador para lhe conceder as seguintes funções da IAM no projeto:
-
Ver trabalhos:
Visualizador de trabalhos em lote (
roles/batch.jobsViewer
) -
Ver contas de serviço:
Ver contas de serviço (
roles/iam.serviceAccountViewer
) -
Ver conjuntos de dados e tabelas do BigQuery:
Visualizador de dados do BigQuery (
roles/bigquery.dataViewer
) -
Crie, implemente e execute fluxos de trabalho:
Editor de fluxos de trabalho (
roles/workflows.editor
)
-
Ver trabalhos:
Visualizador de trabalhos em lote (
-
Certifique-se de que os utilizadores no seu projeto podem ver as informações da tarefa exportada.
Para garantir que um utilizador tem as autorizações necessárias para exportar informações de tarefas, peça ao administrador para conceder ao utilizador a função de IAM Visualizador de dados do BigQuery (
roles/bigquery.dataViewer
) na tabela, no conjunto de dados ou no projeto.
Exporte informações de tarefas
Esta secção explica como exportar informações de tarefas através do
fluxo de trabalho export-jobs, que faz parte do
export-to-bigquery
exemplo de código.
O fluxo de trabalho export-jobs exporta as informações dos trabalhos do seu projeto que
estão na região especificada e cumprem os critérios de filtro especificados.
O fluxo de trabalho export-jobs exporta informações de tarefas para uma tabela especificada num conjunto de dados especificado, que são criados automaticamente pelo fluxo de trabalho se ainda não existirem no seu projeto. Por predefinição, o fluxo de trabalho export-jobs também elimina as tarefas exportadas do Batch, mas pode editar opcionalmente o fluxo de trabalho export-jobs para não eliminar as tarefas.
Para cada fluxo de trabalho export-jobs que quer usar, faça o seguinte:
- Configure a definição do fluxo de trabalho.
- Crie e implemente o fluxo de trabalho.
- Execute o fluxo de trabalho. Repita este passo sempre que quiser exportar as tarefas especificadas.
Configure a definição do fluxo de trabalho
Descarregue o ficheiro
export-to-bigquery-delete-batch-jobs.yaml
do GitHub.Abra o ficheiro
export-to-bigquery-delete-batch-jobs.yaml
num editor de texto. Em seguida, faça as seguintes edições:Substitua
sys.get_env("GOOGLE_CLOUD_PROJECT_ID")
pelo ID do projeto formatado como uma string, por exemplo,"my-project-id"
.Substitua
sys.get_env("GOOGLE_CLOUD_LOCATION")
pela região que contém as tarefas que quer exportar, formatada como uma string, por exemplo,"us-central1"
.Opcional: edite os critérios de filtro que especificam que tarefas exportar.
Por predefinição, o fluxo de trabalho export-jobs especifica os critérios de filtro
"(status.state:SUCCEEDED OR status.state:FAILED OR status.state:CANCELLED) AND create_time<=\"2023-05-01T00:00:00Z\""
. Estes critérios de filtro predefinidos exportam informações apenas para tarefas que se encontram no estadoSUCCEEDED
,FAILED
ouCANCELLED
e foram criadas antes ou até à data/hora2023-05-01T00:00:00Z
RFC 3339.Opcional: substitua
default_dataset_id
por um nome diferente para o conjunto de dados que quer que o fluxo de trabalho export-jobs use ou crie.Opcional: substitua
default_table_id
por um nome diferente da tabela que quer que o fluxo de trabalho export-jobs use ou crie.Se não quiser que os trabalhos exportados sejam eliminados pelo fluxo de trabalho, faça o seguinte:
Remova as seguintes linhas:
- log_delete_step: call: sys.log args: text: ${"Deleting Batch job " + j.name} severity: NOTICE - delete_job: call: googleapis.batch.v1.projects.locations.jobs.delete args: name: ${j.name}
Remova
+ " and deleted"
.
Guarde o ficheiro. Mantenha o ficheiro aberto.
Crie e implemente o fluxo de trabalho
Na Google Cloud consola, aceda à página Fluxos de trabalho:
Na página Fluxos de trabalho, clique em
Criar.No campo Nome do fluxo de trabalho, introduza um nome para o fluxo de trabalho, por exemplo,
export-batch-jobs-us-central1
.Na lista Conta de serviço, selecione a conta de serviço que preparou.
Clicar em Seguinte.
No editor de fluxos de trabalho, substitua o fluxo de trabalho de exemplo pelo conteúdo do ficheiro
export-to-bigquery-delete-batch-jobs.yaml
. Em seguida, pode fechar o ficheiro.Clique em Implementar. É apresentada a página Detalhes do fluxo de trabalho.
Execute o fluxo de trabalho
Na página Detalhes do fluxo de trabalho, clique em
Executar. É aberta a página Executar fluxo de trabalho.Na página Executar fluxo de trabalho apresentada, clique em Executar.
Na página Detalhes da execução apresentada, aguarde que o fluxo de trabalho termine a execução. Por exemplo, o tempo de execução para exportar e eliminar algumas tarefas é normalmente de alguns segundos, mas a execução pode demorar mais tempo se estiver a exportar e eliminar muitas tarefas.
Quando o fluxo de trabalho terminar a execução, o painel Saída apresenta os resultados.
Veja as informações do trabalho exportadas
Esta secção apresenta como ver os dados da tabela criados pelo fluxo de trabalho export-jobs. Por exemplo, pode usar os passos seguintes para verificar se o fluxo de trabalho foi executado com êxito e explorar os dados da tabela. Para mais informações sobre como ver e usar as informações de tarefas exportadas, como escrever consultas, consulte o artigo Gerir dados de tabelas na documentação do BigQuery.
Na Google Cloud consola, aceda à página BigQuery:
No painel Explorador, abra a tabela com as informações da tarefa exportada:
- No campo Pesquisar recursos do BigQuery, introduza o nome
da tabela do fluxo de trabalho de tarefas de exportação. Por exemplo, o nome da tabela predefinido é
default_table_id
. - Clique no nome da tabela. É apresentada a página de detalhes da tabela.
Na página de detalhes da tabela, clique no separador Detalhes.
No separador Detalhes, repare na data/hora de Última modificação e no Número de linhas.
Na página de detalhes da tabela, clique no separador Pré-visualizar.
- No campo Pesquisar recursos do BigQuery, introduza o nome
da tabela do fluxo de trabalho de tarefas de exportação. Por exemplo, o nome da tabela predefinido é
O que se segue?
- Saiba mais sobre os fluxos de trabalho.
- Saiba mais acerca do BigQuery.
- Saiba mais sobre o processamento em lote: