Exporte informações de tarefas

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

  1. 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.
  2. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  3. 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.

  4. Prepare uma conta de serviço para o fluxo de trabalho de tarefas de exportação fazendo o seguinte:

    1. Crie uma nova conta de serviço ou identifique uma conta de serviço existente.
    2. 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:

      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.

  5. 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:

  6. 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:

  1. Configure a definição do fluxo de trabalho.
  2. Crie e implemente o fluxo de trabalho.
  3. Execute o fluxo de trabalho. Repita este passo sempre que quiser exportar as tarefas especificadas.

Configure a definição do fluxo de trabalho

  1. Descarregue o ficheiro export-to-bigquery-delete-batch-jobs.yaml do GitHub.

  2. Abra o ficheiro export-to-bigquery-delete-batch-jobs.yaml num editor de texto. Em seguida, faça as seguintes edições:

    1. Substitua sys.get_env("GOOGLE_CLOUD_PROJECT_ID") pelo ID do projeto formatado como uma string, por exemplo, "my-project-id".

    2. 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".

    3. 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 estado SUCCEEDED, FAILED ou CANCELLED e foram criadas antes ou até à data/hora 2023-05-01T00:00:00Z RFC 3339.

    4. 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.

    5. Opcional: substitua default_table_id por um nome diferente da tabela que quer que o fluxo de trabalho export-jobs use ou crie.

    6. Se não quiser que os trabalhos exportados sejam eliminados pelo fluxo de trabalho, faça o seguinte:

      1. 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}
        
      2. Remova + " and deleted".

    7. Guarde o ficheiro. Mantenha o ficheiro aberto.

Crie e implemente o fluxo de trabalho

  1. Na Google Cloud consola, aceda à página Fluxos de trabalho:

    Aceda a Fluxos de trabalho

  2. Na página Fluxos de trabalho, clique em Criar.

  3. No campo Nome do fluxo de trabalho, introduza um nome para o fluxo de trabalho, por exemplo, export-batch-jobs-us-central1.

  4. Na lista Conta de serviço, selecione a conta de serviço que preparou.

  5. Clicar em Seguinte.

  6. 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.

  7. Clique em Implementar. É apresentada a página Detalhes do fluxo de trabalho.

Execute o fluxo de trabalho

  1. Na página Detalhes do fluxo de trabalho, clique em Executar. É aberta a página Executar fluxo de trabalho.

  2. Na página Executar fluxo de trabalho apresentada, clique em Executar.

  3. 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.

  1. Na Google Cloud consola, aceda à página BigQuery:

    Aceda ao BigQuery

  2. No painel Explorador, abra a tabela com as informações da tarefa exportada:

    1. 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.
    2. Clique no nome da tabela. É apresentada a página de detalhes da tabela.
    3. 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.

    4. Na página de detalhes da tabela, clique no separador Pré-visualizar.

O que se segue?