Workflows ele, é possível executar jobs do Cloud Run como parte de um fluxo de trabalho para realizar processamentos de dados mais complexos ou orquestrar um sistema de jobs atuais.
Neste tutorial, mostramos como usar o Workflows para executar um job do Cloud Run que processa dados transmitidos como variáveis de ambiente para o job, em resposta a um evento do Cloud Storage.
Também é possível armazenar os dados do evento em um bucket do Cloud Storage, o que permite criptografar os dados usando chaves de criptografia gerenciadas pelo cliente. Para mais informações, consulte Executar um job do Cloud Run que processe dados de eventos salvos no Cloud Storage.
Objetivos
Neste tutorial, você aprenderá a:
- Criar um job do Cloud Run que processe arquivos de dados em um bucket do Cloud Storage.
- Implante um fluxo de trabalho que faça o seguinte:
- Aceita um evento do Cloud Storage como argumento.
- Verifica se o bucket do Cloud Storage especificado no evento é o mesmo usado pelo job do Cloud Run.
- Nesse caso, use o conector da API Cloud Run Admin para executar o job do Cloud Run.
- Criar um gatilho do Eventarc que execute o fluxo de trabalho em resposta a eventos que afetam o bucket do Cloud Storage.
- Acionar o fluxo de trabalho atualizando um arquivo de dados de entrada no bucket do Cloud Storage.
Custos
Neste documento, você usará os seguintes componentes faturáveis do Google Cloud:
Para gerar uma estimativa de custo baseada na projeção de uso deste tutorial, use a calculadora de preços.
Antes de começar
As restrições de segurança definidas pela sua organização podem impedir que você conclua as etapas a seguir. Para informações sobre solução de problemas, consulte Desenvolver aplicativos em um ambiente restrito do Google Cloud.
Console
- Faça login na sua conta do Google Cloud. Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
-
No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.
-
Verifique se a cobrança está ativada para o seu projeto do Google Cloud.
-
Ative as APIs Artifact Registry, Cloud Build, Cloud Run, Cloud Storage, Eventarc e Workflows.
-
Crie uma conta de serviço:
-
No Console do Google Cloud, acesse a página Criar conta de serviço.
Acesse "Criar conta de serviço" - Selecione o projeto.
-
No campo Nome da conta de serviço, insira um nome. O Console do Google Cloud preenche o campo ID da conta de serviço com base nesse nome.
No campo Descrição da conta de serviço, insira uma descrição. Por exemplo,
Service account for quickstart
. - Clique em Criar e continuar.
-
Conceda os papéis a seguir à conta de serviço: Cloud Run Admin, Eventarc Event Receiver, Logs Writer, Workflows Invoker
Para conceder um papel, encontre a lista Selecionar um papel e escolha uma opção.
Para conceder outros papéis, clique em
Adicionar outro papel e adicione cada papel adicional. - Clique em Continuar.
-
Clique em Concluído para terminar a criação da conta de serviço.
-
-
No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.
-
Verifique se a cobrança está ativada para o seu projeto do Google Cloud.
-
Ative as APIs Artifact Registry, Cloud Build, Cloud Run, Cloud Storage, Eventarc e Workflows.
-
Crie uma conta de serviço:
-
No Console do Google Cloud, acesse a página Criar conta de serviço.
Acesse "Criar conta de serviço" - Selecione o projeto.
-
No campo Nome da conta de serviço, insira um nome. O Console do Google Cloud preenche o campo ID da conta de serviço com base nesse nome.
No campo Descrição da conta de serviço, insira uma descrição. Por exemplo,
Service account for quickstart
. - Clique em Criar e continuar.
-
Conceda os papéis a seguir à conta de serviço: Cloud Run Admin, Eventarc Event Receiver, Logs Writer, Workflows Invoker
Para conceder um papel, encontre a lista Selecionar um papel e escolha uma opção.
Para conceder outros papéis, clique em
Adicionar outro papel e adicione cada papel adicional. - Clique em Continuar.
-
Clique em Concluído para terminar a criação da conta de serviço.
-
- Antes de criar um gatilho para eventos diretos do Cloud Storage,
conceda o
papel de editor do
Pub/Sub (
roles/pubsub.publisher
) ao agente de serviço do Cloud Storage, uma conta serviço gerenciado pelo Google:- No console do Google Cloud, acesse a página
IAM.
- Marque a caixa de seleção Incluir concessões de papel fornecidas pelo Google.
- Na coluna Principal, encontre o Agente de serviço
do Cloud Storage com o formato
service-PROJECT_NUMBER@gs-project-accounts.iam.gserviceaccount.com
e clique em Editar principal na linha correspondente. - Clique em Adicionar papel ou Adicionar outro papel.
- Na lista Selecionar um papel, filtre por Editor do Pub/Sub e selecione o papel.
- Clique em Salvar.
- No console do Google Cloud, acesse a página
IAM.
- Se você ativou o agente de serviço do Cloud Pub/Sub até 8 de abril de 2021 para dar suporte a solicitações de push autenticadas do Pub/Sub, conceda o papel Criador de token de conta de serviço (
roles/iam.serviceAccountTokenCreator
) à conta de serviço gerenciado pelo Google. Caso contrário, esse papel será concedido por padrão:- No console do Google Cloud, acesse a página
IAM.
- Marque a caixa de seleção Incluir concessões de papel fornecidas pelo Google.
- Na coluna Nome, encontre a conta de serviço do Cloud Pub/Sub e clique em Editar principal na linha correspondente.
- Clique em Adicionar papel ou Adicionar outro papel.
- Na lista Selecionar papel, filtre por Criador de token de conta de serviço e selecione o papel.
- Clique em Salvar.
- No console do Google Cloud, acesse a página
IAM.
-
No Console do Google Cloud, ative o Cloud Shell.
Na parte inferior do Console do Google Cloud, uma sessão do Cloud Shell é iniciada e exibe um prompt de linha de comando. O Cloud Shell é um ambiente shell com a CLI do Google Cloud já instalada e com valores já definidos para o projeto atual. A inicialização da sessão pode levar alguns segundos.
Neste tutorial, o Cloud Shell é compatível com os comandos
/dev/urandom
que geram números pseudoaleatórios.
gcloud
Para usar um terminal on-line com a CLI gcloud já configurada, ative o Cloud Shell:
Na parte inferior da página, uma sessão do Cloud Shell é iniciada e exibe um prompt de linha de comando. A inicialização da sessão pode levar alguns segundos.
Neste tutorial, o Cloud Shell é compatível com os comandos
/dev/urandom
que geram números pseudoaleatórios.- Criar ou selecionar um projeto do Google Cloud.
-
Crie um projeto do Google Cloud:
gcloud projects create PROJECT_ID
-
Selecione o projeto do Google Cloud que você criou:
gcloud config set project PROJECT_ID
-
- Verifique se a cobrança está ativada para o seu projeto do Google Cloud.
- Ative as APIs Artifact Registry, Cloud Build,
Cloud Run, Cloud Storage, Eventarc
e Workflows:
gcloud services enable artifactregistry.googleapis.com \ cloudbuild.googleapis.com \ eventarc.googleapis.com \ run.googleapis.com \ storage.googleapis.com \ workflows.googleapis.com
- Crie uma conta de serviço para seu fluxo de trabalho usar para autenticação
com outros serviços do Google Cloud e conceda os papéis apropriados.
- Crie a conta de serviço:
gcloud iam service-accounts create SERVICE_ACCOUNT_NAME
Substitua
SERVICE_ACCOUNT_NAME
por um nome para a conta de serviço. - Conceda papéis à conta de serviço gerenciado pelo usuário que você criou na
etapa anterior. Execute o comando a seguir uma vez para cada um dos seguintes
papéis do IAM ou use a sinalização
--role
várias vezes em um único comando:roles/eventarc.eventReceiver
: para receber eventosroles/logging.logWriter
: para gravar registros.roles/run.admin
: para executar o job do Cloud Run.roles/workflows.invoker
: para invocar fluxos de trabalho
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com \ --role=ROLE
Substitua:
PROJECT_ID
: o ID do projeto em que você criou a conta de serviço.ROLE
: o papel a ser concedido à conta de serviço gerenciada pelo usuário.
- Crie a conta de serviço:
- Antes de criar um gatilho para eventos diretos do Cloud Storage,
conceda o papel de Editor
do Pub/Sub (
roles/pubsub.publisher
) ao agente de serviço do Cloud Storage, um conta de serviço gerenciada:SERVICE_ACCOUNT="$(gsutil kms serviceaccount -p PROJECT_ID)" gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:${SERVICE_ACCOUNT}" \ --role='roles/pubsub.publisher'
- Se você ativou o agente de serviço do Cloud Pub/Sub até 8 de abril de 2021, para oferecer suporte a solicitações push autenticadas do Pub/Sub, conceda o papel Criador de token da conta de serviço. (
roles/iam.serviceAccountTokenCreator
) à conta de serviço gerenciada pelo Google. Caso contrário, esse papel é concedido por padrão:gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-pubsub.iam.gserviceaccount.com \ --role=roles/iam.serviceAccountTokenCreator
Substitua PROJECT_NUMBER
pelo número do projeto do
Google Cloud. Encontre o número do projeto na página Boas-vindas do console do Google Cloud ou executando o seguinte comando:
gcloud projects describe PROJECT_ID --format='value(projectNumber)'
Terraform
Para usar um terminal on-line com a CLI gcloud já configurada, ative o Cloud Shell:
Na parte inferior da página, uma sessão do Cloud Shell é iniciada e exibe um prompt de linha de comando. A inicialização da sessão pode levar alguns segundos.
Neste tutorial, o Cloud Shell é compatível com os comandos
/dev/urandom
que geram números pseudoaleatórios.- Criar ou selecionar um projeto do Google Cloud.
-
Crie um projeto do Google Cloud:
gcloud projects create PROJECT_ID
-
Selecione o projeto do Google Cloud que você criou:
gcloud config set project PROJECT_ID
-
- Verifique se a cobrança está ativada para o seu projeto do Google Cloud.
- Ative as APIs Artifact Registry, Cloud Build,
Cloud Run, Cloud Storage, Eventarc
e Workflows:
gcloud services enable artifactregistry.googleapis.com \ cloudbuild.googleapis.com \ eventarc.googleapis.com \ run.googleapis.com \ storage.googleapis.com \ workflows.googleapis.com
Crie uma conta de serviço para seu fluxo de trabalho usar para autenticação com outros serviços do Google Cloud e conceda os papéis apropriados. Além disso, para dar suporte a eventos diretos do Cloud Storage, conceda o papel Editor do Pub/Sub (
roles/pubsub.publisher
) ao agente de serviço do Cloud Storage, uma conta serviço gerenciado pelo Google.Modifique o arquivo
main.tf
conforme mostrado no exemplo a seguir. Para mais informações, consulte a documentação do provedor do Google para Terraform.Para saber como aplicar ou remover uma configuração do Terraform, consulte Comandos básicos do Terraform.
Em um fluxo de trabalho comum do Terraform, você aplica o plano inteiro de uma só vez. No entanto, para os fins deste tutorial, é possível segmentar um recurso específico. Exemplo:
terraform apply -target="google_service_account.workflows"
- Se você ativou o agente de serviço do Cloud Pub/Sub até 8 de abril de 2021, para oferecer suporte a solicitações push autenticadas do Pub/Sub, conceda o papel Criador de token da conta de serviço. (
roles/iam.serviceAccountTokenCreator
) à conta de serviço gerenciada pelo Google. Caso contrário, esse papel é concedido por padrão:gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-pubsub.iam.gserviceaccount.com \ --role=roles/iam.serviceAccountTokenCreator
Substitua PROJECT_NUMBER
pelo número do projeto do
Google Cloud. Encontre o número do projeto na página Boas-vindas do console do Google Cloud ou executando o seguinte comando:
gcloud projects describe PROJECT_ID --format='value(projectNumber)'
Criar um job do Cloud Run
Neste tutorial, usamos um job de exemplo do Cloud Run do GitHub. O job lê dados de um arquivo de entrada no Cloud Storage e executa um processamento arbitrário para cada linha no arquivo.
Clone o repositório do app de amostra na máquina local para ver o código de amostra:
git clone https://github.com/GoogleCloudPlatform/jobs-demos.git
Se preferir, faça o download da amostra como um arquivo ZIP e extraia-o.
Acesse o diretório que contém o exemplo de código:
cd jobs-demos/parallel-processing
Crie um bucket do Cloud Storage para armazenar um arquivo de entrada que possa ser gravado e acionar um evento:
Console
- No console do Google Cloud, acesse a página Buckets do Cloud Storage.
- Clique em add Criar.
- Na página Criar um bucket, insira um nome para o bucket:
input-PROJECT_ID
SubstituaPROJECT_ID
pelo ID do seu projeto do Google Cloud. - Mantenha os outros padrões.
- Clique em Criar.
gcloud
Execute o comando
gcloud storage buckets create
:gcloud storage buckets create gs://input-PROJECT_ID
Se a solicitação for bem-sucedida, o comando retornará a seguinte mensagem:
Creating gs://input-PROJECT_ID/...
Terraform
Para criar um bucket do Cloud Storage, use o recurso
google_storage_bucket
e modifique o arquivomain.tf
, conforme mostrado no exemplo a seguir.Para saber como aplicar ou remover uma configuração do Terraform, consulte Comandos básicos do Terraform.
Em um fluxo de trabalho comum do Terraform, você aplica o plano inteiro de uma só vez. No entanto, para os fins deste tutorial, é possível segmentar um recurso específico. Exemplo:
terraform apply -target="random_id.bucket_name_suffix"
e
terraform apply -target="google_storage_bucket.default"
- No console do Google Cloud, acesse a página Buckets do Cloud Storage.
Crie um repositório padrão do Artifact Registry para armazenar a imagem do contêiner:
Console
No console do Google Cloud, acesse a página Repositórios do Artifact Registry:
Clique em
Criar repositório.Digite um nome para o repositório, por exemplo,
my-repo
. Para cada local de repositório em um projeto, os nomes dos repositórios precisam ser exclusivos.Mantenha o formato padrão, que deveria ser Docker.
Mantenha o modo padrão, que precisa ser Standard.
Para a região, selecione us-central1 (Iowa).
Mantenha todos os outros padrões.
Clique em Criar.
gcloud
Execute o comando:
gcloud artifacts repositories create REPOSITORY \ --repository-format=docker \ --location=us-central1
Substitua
REPOSITORY
por um nome exclusivo para o repositório, por exemplo,my-repo
. Para cada local de repositório em um projeto, os nomes dos repositórios precisam ser exclusivos.Terraform
Para criar um repositório do Artifact Registry, use o recurso
google_artifact_registry_repository
e modifique o arquivomain.tf
, conforme mostrado no exemplo a seguir.Em um fluxo de trabalho comum do Terraform, você aplica o plano inteiro de uma só vez. No entanto, para os fins deste tutorial, é possível segmentar um recurso específico. Exemplo:
terraform apply -target="google_artifact_registry_repository.default"
Crie a imagem do contêiner usando um buildpack padrão do Google Cloud:
export SERVICE_NAME=parallel-job gcloud builds submit \ --pack image=us-central1-docker.pkg.dev/PROJECT_ID/REPOSITORY/${SERVICE_NAME}
Substitua
REPOSITORY
pelo nome do repositório do Artifact Registry.A criação pode levar alguns minutos.
Crie um job do Cloud Run que implante a imagem do contêiner:
Console
No console do Google Cloud, acesse a página do Cloud Run:
Clique em Criar job para exibir o formulário Criar job.
- No formulário, selecione
us-central1-docker.pkg.dev/PROJECT_ID/REPOSITORY/parallel-job:latest
como o URL da imagem do contêiner do Artifact Registry. - Opcional: no nome do job, insira
parallel-job
. - Opcional: como região, selecione us-central1 (Iowa).
- Para o número de tarefas que você quer executar no job, insira
10
. Todas as tarefas precisam ser bem-sucedidas para que o job seja bem-sucedido. Por padrão, as tarefas são executadas em paralelo.
- No formulário, selecione
Expanda a seção Contêiner, variáveis e secrets, conexões, segurança e mantenha todos os padrões, exceto as seguintes configurações:
Clique na guia Geral.
- Para o comando do contêiner, insira
python
. - Para o argumento do contêiner, insira
process.py
.
- Para o comando do contêiner, insira
Clique na guia Variáveis e secrets.
- Clique em Adicionar variável e insira
INPUT_BUCKET
para o nome einput-PROJECT_ID
para o valor. - Clique em Adicionar variável e insira
INPUT_FILE
para o nome einput_file.txt
para o valor.
- Clique em Adicionar variável e insira
Para criar o job, clique em Criar.
gcloud
Execute o comando:
gcloud run jobs create parallel-job \ --image us-central1-docker.pkg.dev/PROJECT_ID/REPOSITORY/parallel-job \ --command python \ --args process.py \ --tasks 10 \ --set-env-vars=INPUT_BUCKET=input-PROJECT_ID,INPUT_FILE=input_file.txt
Para ver uma lista completa das opções disponíveis ao criar um job, consulte a documentação da linha de comando gcloud run jobs create.
Depois que o job for criado, você verá uma mensagem indicando que o processo foi concluído.
Terraform
Para criar um job do Cloud Run, use o recurso
google_cloud_run_v2_job
e modifique o arquivomain.tf
, conforme mostrado no exemplo a seguir.Em um fluxo de trabalho comum do Terraform, você aplica o plano inteiro de uma só vez. No entanto, para os fins deste tutorial, é possível segmentar um recurso específico. Exemplo:
terraform apply -target="google_cloud_run_v2_job.default"
Implantar um fluxo de trabalho que execute o job do Cloud Run
Defina e implante um fluxo de trabalho que execute o job do Cloud Run que você acabou de criar. Uma definição de fluxo de trabalho é composta por uma série de etapas descritas usando a sintaxe de fluxos de trabalho.
Console
No console do Google Cloud, acesse a página Fluxos de trabalho:
Clique em
Criar.Insira um nome para o novo fluxo de trabalho, como
cloud-run-job-workflow
.Para a região, selecione us-central1 (Iowa).
No campo Conta de serviço, selecione a conta de serviço criada anteriormente.
A conta de serviço serve como a identidade do fluxo de trabalho. É necessário já ter concedido o papel Administrador do Cloud Run à conta de serviço para que o fluxo de trabalho possa executar o job do Cloud Run.
Clique em Próxima.
No editor de fluxo de trabalho, insira a seguinte definição para seu fluxo de trabalho:
Selecione Implantar.
gcloud
Crie um arquivo de código-fonte para seu fluxo de trabalho:
touch cloud-run-job-workflow.yaml
Copie a seguinte definição de fluxo de trabalho para seu arquivo de código-fonte:
Implante o fluxo de trabalho digitando o seguinte comando:
gcloud workflows deploy cloud-run-job-workflow \ --location=us-central1 \ --source=cloud-run-job-workflow.yaml \ --service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
Substitua:
SERVICE_ACCOUNT_NAME
: o nome da conta de serviço que você criou anteriormentePROJECT_ID
: o ID do projeto do Google Cloud.
A conta de serviço serve como a identidade do fluxo de trabalho. É necessário já ter concedido o papel
roles/run.admin
à conta de serviço para que o fluxo de trabalho possa executar o job do Cloud Run.
Terraform
Para criar um fluxo de trabalho, use o
recurso google_workflows_workflow
e modifique o arquivo main.tf
, conforme mostrado no exemplo abaixo.
Para saber como aplicar ou remover uma configuração do Terraform, consulte Comandos básicos do Terraform.
Em um fluxo de trabalho comum do Terraform, você aplica o plano inteiro de uma vez. No entanto, para os fins deste tutorial, é possível segmentar um recurso específico. Exemplo:
terraform apply -target="google_workflows_workflow.default"
O fluxo de trabalho faz o seguinte:
Etapa
init
: aceita um evento do Cloud Storage como argumento e define as variáveis necessárias.Etapa
check_input_file
: verifica se o bucket do Cloud Storage especificado no evento é o usado pelo job do Cloud Run.- Em caso afirmativo, o fluxo de trabalho segue para a etapa
run_job
. - Em caso negativo, o fluxo de trabalho é encerrado, interrompendo qualquer outro processamento.
- Em caso afirmativo, o fluxo de trabalho segue para a etapa
Etapa
run_job
: usa o métodogoogleapis.run.v1.namespaces.jobs.run
do conector da API Cloud Run Admin para executar o job. Os nomes dos arquivos de dados e do bucket do Cloud Storage são transmitidos como variáveis de substituição do fluxo de trabalho para o job.Etapa
finish
: retorna informações sobre a execução do job como resultado do fluxo de trabalho.
Criar um gatilho do Eventarc para o fluxo de trabalho
Para executar o fluxo de trabalho automaticamente e, por sua vez, o job do Cloud Run sempre que o arquivo de dados de entrada for atualizado, crie um acionador do Eventarc que responda a eventos do Cloud Storage no bucket que contém o arquivo de dados de entrada.
Console
No console do Google Cloud, acesse a página Fluxos de trabalho:
Clique no nome do seu fluxo de trabalho, como
cloud-run-job-workflow
.Na página Detalhes do fluxo de trabalho, clique em
Editar.Na página Editar fluxo de trabalho, na seção Gatilhos, clique em Adicionar novo gatilho > Eventarc.
O painel Gatilho do Eventarc é aberto.
No campo Nome do gatilho, insira um nome, como
cloud-run-job-workflow-trigger
.Na lista Provedor de eventos, selecione Cloud Storage.
Na lista Evento, selecione google.cloud.storage.object.v1.finalized.
No campo Bucket, selecione o bucket que contém o arquivo de dados de entrada. O nome do bucket tem o formato
input-PROJECT_ID
.No campo Conta de serviço, selecione a conta de serviço criada anteriormente.
A conta de serviço serve como a identidade do gatilho. Você já deve ter concedido os seguintes papéis à conta de serviço:
- Receptor de eventos do Eventarc: para receber eventos
- Invocador de fluxos de trabalho: para executar fluxos de trabalho
Clique em Salvar acionador.
O gatilho do Eventarc agora aparece na seção Gatilhos na página Editar fluxo de trabalho.
Clique em Próxima.
Clique em Implantar.
gcloud
Crie um gatilho do Eventarc executando o seguinte comando:
gcloud eventarc triggers create cloud-run-job-workflow-trigger \ --location=us \ --destination-workflow=cloud-run-job-workflow \ --destination-workflow-location=us-central1 \ --event-filters="type=google.cloud.storage.object.v1.finalized" \ --event-filters="bucket=input-PROJECT_ID" \ --service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
Substitua:
PROJECT_ID
: o ID do seu projeto do Google Cloud;SERVICE_ACCOUNT_NAME
: o nome da conta de serviço que você criou anteriormente.
A conta de serviço serve como a identidade do gatilho. Você já deve ter concedido os seguintes papéis à conta de serviço:
roles/eventarc.eventReceiver
: para receber eventosroles/workflows.invoker
: para executar fluxos de trabalho.
Terraform
Para criar um gatilho, use o
recurso google_eventarc_trigger
e modifique o arquivo main.tf
, conforme mostrado no exemplo a seguir.
Para saber como aplicar ou remover uma configuração do Terraform, consulte Comandos básicos do Terraform.
Em um fluxo de trabalho comum do Terraform, você aplica o plano inteiro de uma vez. No entanto, para os fins deste tutorial, é possível segmentar um recurso específico. Exemplo:
terraform apply -target="google_eventarc_trigger.default"
Sempre que um arquivo é enviado ou substituído no bucket do Cloud Storage que contém o arquivo de dados de entrada, o fluxo de trabalho é executado com o evento do Cloud Storage correspondente como um argumento.
Acione o fluxo de trabalho
Teste o sistema de ponta a ponta atualizando o arquivo de dados de entrada no Cloud Storage.
Gere novos dados para o arquivo de entrada e faça upload deles para o Cloud Storage no local esperado pelo job do Cloud Run:
base64 /dev/urandom | head -c 100000 >input_file.txt gsutil cp input_file.txt gs://BUCKET_NAME/input_file.txt
Substitua
BUCKET_NAME
pelo nome do bucket do seu Cloud Storage.Se você criou um bucket do Cloud Storage usando o Terraform, é possível recuperar o nome dele executando o seguinte comando:
gcloud storage buckets list gs://input*
O job do Cloud Run pode levar alguns minutos para ser executado.
Visualize as execuções do job para confirmar se ele foi executado conforme o esperado:
gcloud config set run/region us-central1 gcloud run jobs executions list --job=parallel-job
Você verá uma execução de job bem-sucedida na saída, indicando que as tarefas
10/10
foram concluídas.
Saiba mais sobre como acionar um fluxo de trabalho com eventos ou mensagens do Pub/Sub.
Limpar
Se você criou um novo projeto para este tutorial, exclua o projeto. Se você usou um projeto atual e quer mantê-lo sem as alterações incluídas neste tutorial, exclua os recursos criados para o tutorial.
Exclua o projeto
O jeito mais fácil de evitar cobranças é excluindo o projeto que você criou para o tutorial.
Para excluir o projeto:
- No Console do Google Cloud, acesse a página Gerenciar recursos.
- Na lista de projetos, selecione o projeto que você quer excluir e clique em Excluir .
- Na caixa de diálogo, digite o ID do projeto e clique em Encerrar para excluí-lo.
Excluir recursos do tutorial
Exclua os recursos criados neste tutorial:
Exclua o gatilho do Eventarc:
gcloud eventarc triggers delete cloud-run-job-workflow-trigger --location=us
Exclua o fluxo de trabalho:
gcloud workflows delete cloud-run-job-workflow --location=us-central1
Exclua o job do Cloud Run:
gcloud run jobs delete parallel-job
Exclua o bucket do Cloud Storage criado para os dados de entrada:
gcloud storage rm --recursive gs://input-PROJECT_ID/
Exclua o repositório do Artifact Registry:
gcloud artifacts repositories delete REPOSITORY --location=us-central1