Executar um job do Cloud Run que processa dados de eventos salvos no Cloud Storage


É possível usar o Workflows para executar um Job do Cloud Run como parte de um fluxo de trabalho que executa um processamento de dados mais complexo ou que orquestra um sistema de os jobs atuais.

Este tutorial demonstra como usar o Workflows para executar uma Um job do Cloud Run que processa dados de eventos armazenados em um do bucket do Cloud Storage. Armazenar o payload do evento em um bucket do Cloud Storage permite criptografar os dados usando chaves de criptografia gerenciadas pelo cliente, o que não é possível se você estiver transmitindo os dados do evento como variáveis de ambiente para o job do Cloud Run.

Confira no diagrama a seguir uma visão geral:

O evento do Pub/Sub é roteado pelo gatilho do Eventarc para o Workflows e salvo no bucket do Cloud Storage. O job do Cloud Run processa os dados de eventos armazenados no bucket.

Objetivos

Neste tutorial, você aprenderá a:

  1. Criar um job do Cloud Run que processe dados de eventos armazenados em um bucket do Cloud Storage.
  2. Implante um fluxo de trabalho que faça o seguinte:
    1. Recebe um evento como argumento.
    2. Grava os dados do payload do evento no bucket do Cloud Storage.
    3. Usa o conector da API Cloud Run Admin. para executar o job do Cloud Run.
  3. Crie um tópico do Pub/Sub para publicar uma mensagem. Neste tutorial, usamos um evento do Pub/Sub como exemplo de como rotear eventos usando o Workflows, salvando o evento em o Cloud Storage para que um job do Cloud Run possa processar os dados do evento.
  4. Crie um gatilho do Eventarc que execute o fluxo de trabalho quando uma mensagem for gravada no tópico do Pub/Sub.
  5. Acione o fluxo de trabalho escrevendo uma mensagem no Pub/Sub tópico.

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. Novos usuários do Google Cloud podem estar qualificados para uma avaliação gratuita.

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.

Antes de começar este tutorial, ative APIs específicas e crie uma conta de serviço gerenciada pelo usuário. Você precisa conceder à conta de serviço os papéis e as permissões necessárias para rotear eventos usando uma O Eventarc aciona e executa um fluxo de trabalho.

Se você estiver usando o Cloud Shell para testar este tutorial, poderá precisa conceder outros papéis à conta de serviço Compute Engine do Compute Engine. Para mais detalhes, consulte a seção Criar um job do Cloud Run neste documento.

Console

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  4. Enable the Artifact Registry, Cloud Build, Cloud Run, Cloud Storage, Compute Engine, Eventarc, and Workflows APIs.

    Enable the APIs

  5. Create a service account:

    1. In the Google Cloud console, go to the Create service account page.

      Go to Create service account
    2. Select your project.
    3. In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.

      In the Service account description field, enter a description. For example, Service account for quickstart.

    4. Click Create and continue.
    5. Grant the following roles to the service account: Cloud Run Admin, Eventarc Event Receiver, Logs Writer, Storage Object Creator, Workflows Invoker.

      To grant a role, find the Select a role list, then select the role.

      To grant additional roles, click Add another role and add each additional role.

    6. Click Continue.
    7. Click Done to finish creating the service account.

  6. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  7. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  8. Enable the Artifact Registry, Cloud Build, Cloud Run, Cloud Storage, Compute Engine, Eventarc, and Workflows APIs.

    Enable the APIs

  9. Create a service account:

    1. In the Google Cloud console, go to the Create service account page.

      Go to Create service account
    2. Select your project.
    3. In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.

      In the Service account description field, enter a description. For example, Service account for quickstart.

    4. Click Create and continue.
    5. Grant the following roles to the service account: Cloud Run Admin, Eventarc Event Receiver, Logs Writer, Storage Object Creator, Workflows Invoker.

      To grant a role, find the Select a role list, then select the role.

      To grant additional roles, click Add another role and add each additional role.

    6. Click Continue.
    7. Click Done to finish creating the service account.

  10. Se você ativou o agente de serviço do Cloud Pub/Sub na antes de 8 de abril de 2021, para dar suporte ao push do Pub/Sub autenticado solicitações, conceda Serviço Papel Criador de token da conta (roles/iam.serviceAccountTokenCreator) ao agente de serviço. Caso contrário, esse papel é concedido por padrão:
    1. No console do Google Cloud, acesse a página IAM.

      Acessar IAM

    2. Marque a caixa de seleção Incluir concessões de papel fornecidas pelo Google.
    3. Na coluna Nome, encontre a conta de serviço do Cloud Pub/Sub e clique em Editar principal na linha correspondente.
    4. Clique em Adicionar papel. ou Adicionar outro papel.
    5. Na lista Selecionar um papel, filtre por Criador de token de conta de serviço e selecione o papel.
    6. Clique em Salvar.
  11. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  12. O Cloud Shell oferece suporte às etapas de linha de comando neste tutorial.

gcloud

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. Install the Google Cloud CLI.
  3. To initialize the gcloud CLI, run the following command:

    gcloud init
  4. Create or select a Google Cloud project.

    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with a name for the Google Cloud project you are creating.

    • Select the Google Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Google Cloud project name.

  5. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  6. Enable the Artifact Registry, Cloud Build, Cloud Run, Cloud Storage, Compute Engine, Eventarc, and Workflows APIs:

    gcloud services enable artifactregistry.googleapis.com cloudbuild.googleapis.com compute.googleapis.com run.googleapis.com storage.googleapis.com eventarc.googleapis.com workflows.googleapis.com
  7. Set up authentication:

    1. Create the service account:

      gcloud iam service-accounts create SERVICE_ACCOUNT_NAME

      Replace SERVICE_ACCOUNT_NAME with a name for the service account.

    2. Grant roles to the service account. Run the following command once for each of the following IAM roles: roles/eventarc.eventReceiver, roles/logging.logWriter, roles/run.admin, roles/storage.objectCreator, roles/workflows.invoker :

      gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" --role=ROLE

      Replace the following:

      • SERVICE_ACCOUNT_NAME: the name of the service account
      • PROJECT_ID: the project ID where you created the service account
      • ROLE: the role to grant
  8. Install the Google Cloud CLI.
  9. To initialize the gcloud CLI, run the following command:

    gcloud init
  10. Create or select a Google Cloud project.

    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with a name for the Google Cloud project you are creating.

    • Select the Google Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Google Cloud project name.

  11. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  12. Enable the Artifact Registry, Cloud Build, Cloud Run, Cloud Storage, Compute Engine, Eventarc, and Workflows APIs:

    gcloud services enable artifactregistry.googleapis.com cloudbuild.googleapis.com compute.googleapis.com run.googleapis.com storage.googleapis.com eventarc.googleapis.com workflows.googleapis.com
  13. Set up authentication:

    1. Create the service account:

      gcloud iam service-accounts create SERVICE_ACCOUNT_NAME

      Replace SERVICE_ACCOUNT_NAME with a name for the service account.

    2. Grant roles to the service account. Run the following command once for each of the following IAM roles: roles/eventarc.eventReceiver, roles/logging.logWriter, roles/run.admin, roles/storage.objectCreator, roles/workflows.invoker :

      gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" --role=ROLE

      Replace the following:

      • SERVICE_ACCOUNT_NAME: the name of the service account
      • PROJECT_ID: the project ID where you created the service account
      • ROLE: the role to grant
  14. Se você ativou o agente de serviço do Cloud Pub/Sub até 8 de abril de 2021, para oferecer compatibilidade com solicitações push autenticadas do Pub/Sub, conceda o papel de Criador de token da conta de serviço (roles/iam.serviceAccountTokenCreator) ao agente de serviço. 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
  15. 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

Este tutorial usa um código de exemplo que você encontra no GitHub. O script de implantação cria uma imagem de contêiner para criar um job do Cloud Run. O script também cria um bucket do Cloud Storage. O O job do Cloud Run lê todos os dados de eventos armazenados no no bucket do Cloud Storage e imprime os dados do evento.

  1. Se você estiver executando o script de implantação no Cloud Shell e se as Conta de serviço padrão do Compute Engine não tiver o papel de Editor, conceda os seguintes papéis no projeto a conta de serviço padrão do Compute Engine. Caso contrário, pule esta etapa e prossiga com a clonagem do repositório do app de exemplo na próxima etapa.

    1. Conceda Papel Gravador do Artifact Registry (roles/artifactregistry.writer):

      gcloud projects add-iam-policy-binding PROJECT_ID \
          --member=serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com \
          --role=roles/artifactregistry.writer

      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)'

    2. Conceda Papel Usuário de objeto do Storage (roles/storage.objectUser):

      gcloud projects add-iam-policy-binding PROJECT_ID \
          --member=serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com \
          --role=roles/storage.objectUser
    3. Conceda Papel Gravador de registros do Logging (roles/logging.logWriter):

      gcloud projects add-iam-policy-binding PROJECT_ID \
          --member=serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com \
          --role=roles/logging.logWriter
  2. Clone o repositório do app de exemplo para o seu local máquina virtual:

    git clone https://github.com/GoogleCloudPlatform/workflows-demos.git

    Também é possível fazer o download do exemplo como um arquivo ZIP.

  3. Acesse o diretório que contém o exemplo de código:

    cd workflows-demos/cloud-run-jobs-payload-gcs/message-payload-job
  4. Crie o job do Cloud Run executando o script de implantação:

    ./deploy-job.sh

O script cria um bucket do Cloud Storage com o nome message-payload-PROJECT_ID, em que PROJECT_ID é o ID do seu projeto do Google Cloud. Um job do Cloud Run chamado message-payload-job também é criado.

Implantar um fluxo de trabalho que executa 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 de uma série de etapas descrito usando a Sintaxe de fluxos de trabalho.

O fluxo de trabalho recebe um evento e salva os dados dele em um Cloud Storage em um bucket e executa um job do Cloud Run para processar o evento dados.

Console

  1. No console do Google Cloud, acesse a página Fluxos de trabalho:

    Acessar fluxos de trabalho

  2. Clique em Criar.

  3. Insira um nome para o novo fluxo de trabalho, como message-payload-workflow.

  4. Escolha uma região apropriada, por exemplo, us-central1.

  5. No campo Conta de serviço, selecione a conta de serviço que você criou anteriormente.

    A conta de serviço serve como a identidade do fluxo de trabalho. É necessário ter já concedeu os seguintes papéis à conta de serviço:

    • Administrador do Cloud Run: para executar jobs do Cloud Run.
    • Gravador de registros: para gravar entradas de registro
    • Criador de objetos do Storage: para criar objetos no Cloud Storage
  6. Clique em Próxima.

  7. No editor de fluxo de trabalho, insira a seguinte definição para seu fluxo de trabalho:

    main:
        params: [event]
        steps:
            - init:
                assign:
                    - project_id: ${sys.get_env("GOOGLE_CLOUD_PROJECT_ID")}
                    - event_bucket: ${"message-payload-" + project_id}
                    - event_file: ${event.id + ".data.json"}
                    - job_name: message-payload-job
                    - job_location: us-central1
            - log_event:
                call: sys.log
                args:
                    data: ${event}
            - write_payload_to_gcs:
                call: http.post
                args:
                    url: ${"https://storage.googleapis.com/upload/storage/v1/b/" + event_bucket + "/o"}
                    auth:
                        type: OAuth2
                    query:
                        name: ${event_file}
                    body:
                        ${event.data}
            - run_job_to_process_payload:
                call: googleapis.run.v1.namespaces.jobs.run
                args:
                    name: ${"namespaces/" + project_id + "/jobs/" + job_name}
                    location: ${job_location}
                    body:
                        overrides:
                            containerOverrides:
                                env:
                                    - name: INPUT_BUCKET
                                      value: ${event_bucket}
                                    - name: INPUT_FILE
                                      value: ${event_file}
                result: job_execution
            - finish:
                return: ${job_execution}
  8. Clique em Implantar.

gcloud

  1. Crie um arquivo de código-fonte para seu fluxo de trabalho:

    touch message-payload-workflow.yaml
  2. Copie a seguinte definição de fluxo de trabalho para message-payload-workflow.yaml:

    main:
        params: [event]
        steps:
            - init:
                assign:
                    - project_id: ${sys.get_env("GOOGLE_CLOUD_PROJECT_ID")}
                    - event_bucket: ${"message-payload-" + project_id}
                    - event_file: ${event.id + ".data.json"}
                    - job_name: message-payload-job
                    - job_location: us-central1
            - log_event:
                call: sys.log
                args:
                    data: ${event}
            - write_payload_to_gcs:
                call: http.post
                args:
                    url: ${"https://storage.googleapis.com/upload/storage/v1/b/" + event_bucket + "/o"}
                    auth:
                        type: OAuth2
                    query:
                        name: ${event_file}
                    body:
                        ${event.data}
            - run_job_to_process_payload:
                call: googleapis.run.v1.namespaces.jobs.run
                args:
                    name: ${"namespaces/" + project_id + "/jobs/" + job_name}
                    location: ${job_location}
                    body:
                        overrides:
                            containerOverrides:
                                env:
                                    - name: INPUT_BUCKET
                                      value: ${event_bucket}
                                    - name: INPUT_FILE
                                      value: ${event_file}
                result: job_execution
            - finish:
                return: ${job_execution}
  3. Implante o fluxo de trabalho digitando o seguinte comando:

    gcloud workflows deploy message-payload-workflow \
        --location=us-central1 \
        --source=message-payload-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 anteriormente
    • PROJECT_ID: o ID do seu projeto do Google Cloud

    A conta de serviço serve como a identidade do fluxo de trabalho. É necessário ter já concedeu os seguintes papéis à conta de serviço:

    • roles/logging.logWriter: para gravar entradas de registro
    • roles/run.admin: para executar jobs do Cloud Run.
    • roles/storage.objectCreator: para criar objetos no Cloud Storage

O fluxo de trabalho faz o seguinte:

  1. Etapa init: aceita um evento como argumento e define as variáveis necessárias.

  2. Etapa log_event: cria uma entrada de registro no Cloud Logging usando a função. sys.log.

  3. Etapa write_payload_to_gcs: faz uma solicitação HTTP POST e grava o evento. dados de payload para um arquivo de bucket do Cloud Storage.

  4. Etapa run_job_to_process_payload: usa o método do conector da API Cloud Run Admin, googleapis.run.v1.namespaces.jobs.run, para executar o job. O bucket do Cloud Storage e o nome do arquivo de dados são passadas como variáveis de substituição do fluxo de trabalho para o job.

  5. Etapa finish: retorna informações sobre a execução do job como resultado do fluxo de trabalho.

Criar um tópico do Pub/Sub

Crie um tópico do Pub/Sub para publicar uma mensagem. Um evento do Pub/Sub é usado para demonstrar como encaminhar um evento usando fluxos de trabalho e salvar o evento no Cloud Storage para que um job do Cloud Run possa processar os dados do evento.

Console

  1. No console do Google Cloud, acesse a página Tópicos.

    Acesse Tópicos

  2. Clique em Criar tópico.

  3. No campo ID do tópico, insira um ID para o tópico, como message-payload-topic

  4. Mantenha a opção Adicionar uma assinatura padrão.

  5. Não selecione as outras opções.

  6. Clique em Criar.

gcloud

Para criar um tópico com o ID message-payload-topic, execute o gcloud pubsub topics create comando:

gcloud pubsub topics create message-payload-topic

Criar um gatilho do Eventarc para rotear eventos ao fluxo de trabalho

Para executar automaticamente o fluxo de trabalho e, por sua vez, o job do Cloud Run, crie um acionador do Eventarc que responda aos eventos do Pub/Sub e os encaminhe ao fluxo de trabalho. Sempre que uma mensagem é gravada no tópico do Pub/Sub, o evento aciona uma execução do fluxo de trabalho.

Console

  1. No console do Google Cloud, acesse a página Fluxos de trabalho:

    Acessar fluxos de trabalho

  2. Clique no nome do seu fluxo de trabalho, como message-payload-workflow.

  3. Na página Detalhes do fluxo de trabalho, clique em Editar.

  4. Na página Editar fluxo de trabalho, na seção Gatilhos, Clique em Adicionar novo gatilho > Eventarc.

    O painel Gatilho do Eventarc é aberto.

  5. No campo Nome do gatilho, digite um nome para o gatilho, como message-payload-trigger

  6. Na lista Provedor de eventos, selecione Cloud Pub/Sub.

  7. Na lista Evento, selecione google.cloud.pubsub.topic.v1.messagePublished.

  8. Na lista Selecionar um tópico do Cloud Pub/Sub, selecione o tópico do Pub/Sub que você criou anteriormente.

  9. No campo Conta de serviço, selecione a conta de serviço que criamos antes.

    A conta de serviço serve como a identidade do acionador. Você já deve ter concedido os seguintes papéis à conta de serviço:

    • Destinatário de eventos do Eventarc: para receber eventos.
    • Chamador do Workflows: para executar fluxos de trabalho.
  10. Clique em Salvar acionador.

    O gatilho do Eventarc agora aparece na seção Gatilhos. na página Editar fluxo de trabalho.

  11. Clique em Próxima.

  12. Clique em Implantar.

gcloud

Crie um gatilho do Eventarc executando o seguinte comando:

gcloud eventarc triggers create message-payload-trigger \
    --location=us-central1 \
    --destination-workflow=message-payload-workflow \
    --destination-workflow-location=us-central1 \
    --event-filters="type=google.cloud.pubsub.topic.v1.messagePublished" \
    --transport-topic=projects/PROJECT_ID/topics/message-payload-topic \
    --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 do serviço. conta criada anteriormente.

A conta de serviço serve como a identidade do acionador. Você já deve ter concedido os seguintes papéis à conta de serviço:

  • roles/eventarc.eventReceiver: para receber eventos
  • roles/workflows.invoker: executar fluxos de trabalho

Acione o fluxo de trabalho

Testar o sistema completo publicando uma mensagem no Pub/Sub e gerar um evento. Para mais informações, consulte Como acionar um fluxo de trabalho com eventos ou mensagens do Pub/Sub.

  1. Publique uma mensagem para o tópico do Pub/Sub a fim de gerar um evento:

    gcloud pubsub topics publish message-payload-topic --message="Hello World"
    

    O evento é roteado para o fluxo de trabalho que registra a mensagem do evento, salva os dados do evento no bucket do Cloud Storage e executa o job do Cloud Run para processar os dados salvos no Cloud Storage. Isso pode levar um minuto.

  2. Confirme se o job do Cloud Run foi executado conforme o esperado, conferindo as execuções do job:

    gcloud run jobs executions list --job=message-payload-job

    Uma nova execução do job será mostrada na saída.

  3. Para visualizar as entradas de registro relacionadas a eventos criadas ao acionar o fluxo de trabalho, execute o seguinte comando:

    gcloud logging read "resource.type=cloud_run_job AND textPayload:Payload"
    
  4. Procure uma entrada de registro semelhante a esta:

    textPayload: "Payload: {'message': {'data': 'SGVsbG8gV29ybGQ=', 'messageId': '8834108235224238',\
    \ 'publishTime': '2023-09-20T17:07:52.921Z'}, 'subscription': 'projects/MY_PROJECT/subscriptions/eventarc-us-central1-message-payload-trigger-sub-741'}"
    ...
    resource:
    labels:
      job_name: message-payload-job
      location: us-central1
      project_id: MY_PROJECT
    type: cloud_run_job
    textPayload: Processing message payload gs://message-payload-MY_PROJECT/8254002311197919.data.json
    
  5. Você pode confirmar que os resultados estão conforme o esperado visualizando os dados do evento em o objeto do bucket do Cloud Storage.

    1. Recupere o nome do bucket:

      gcloud storage ls

      O resultado será assim:

      gs://message-payload-PROJECT_ID/

    2. Liste os objetos no seu bucket:

      gcloud storage ls gs://message-payload-PROJECT_ID/** --recursive

      A saída será semelhante a esta:

      gs://message-payload-PROJECT_ID/OBJECT_ID.data.json

      Observe o OBJECT_ID a ser usado na próxima etapa.

    3. Faça o download do objeto no seu bucket como um arquivo:

      gcloud storage cp gs://message-payload-PROJECT_ID/OBJECT_ID.data.json message-event.txt

      Substitua OBJECT_ID pelo ID retornado na etapa anterior.

    4. Em um editor de texto, abra o arquivo message-event.txt. O corpo do evento gravado no arquivo será semelhante a este:

      {
        "message": {
          "data": "SGVsbG8gV29ybGQ=",
          "messageId": "8254002311197919",
          "publishTime": "2023-09-20T16:54:29.312Z"
        },
        "subscription": "projects/MY_PROJECT/subscriptions/eventarc-us-central1-message-payload-trigger-sub-741"
      }
      

      Se você decodificar o valor de dados de SGVsbG8gV29ybGQ= do formato Base64, "Hello World" será retornado.

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:

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

Excluir recursos do tutorial

Exclua os recursos criados neste tutorial:

  1. Exclua o tópico do Pub/Sub.

  2. Excluir o gatilho do Eventarc.

  3. Excluir o fluxo de trabalho do Workflows.

  4. Exclua o job do Cloud Run.

  5. Exclua o bucket do Cloud Storage.

A seguir