Esta página foi traduzida pela API Cloud Translation.
Switch to English

Como programar um fluxo de trabalho usando o Cloud Scheduler

Esta página mostra como usar o Cloud Scheduler para executar um fluxo de trabalho em uma programação específica, como toda segunda-feira às 9h ou a cada 15 minutos.

Antes de começar

  1. Caso você ainda não tenha um fluxo de trabalho para programar, crie um.
  2. Ative a API Cloud Scheduler.

    Ative a API

Como programar um fluxo de trabalho

  1. Para que o Cloud Scheduler faça solicitações à API Workflows, crie uma conta de serviço:

    gcloud iam service-accounts create SERVICE_ACCOUNT_NAME

    SERVICE_ACCOUNT_NAME é o nome que você quer dar ao novo serviço.

  2. Conceda à conta que executará os comandos do Cloud Scheduler permissão para usar sua conta de serviço.

  3. Conceda à nova conta de serviço o papel workflows.invoker para que a conta tenha permissão para acionar seu fluxo de trabalho:

    gcloud projects add-iam-policy-binding PROJECT_NAME \
      --member serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_NAME.iam.gserviceaccount.com \
      --role roles/workflows.invoker

    Em que:

    • PROJECT_NAME é o nome do projeto do Google Cloud;
    • SERVICE_ACCOUNT_NAME é o nome da conta de serviço que você criou anteriormente;
  4. Crie um job do Cloud Scheduler que aciona seu fluxo de trabalho usando a conta de serviço que você criou anteriormente para autenticação. Por exemplo, para programar seu fluxo de trabalho para ser executado a cada cinco minutos, definindo o intervalo usando o formato unix-cron (em inglês):

    gcloud beta scheduler jobs create http JOB_NAME \
      --schedule="*/5 * * * *" \
      --uri="https://workflowexecutions.googleapis.com/v1/projects/PROJECT_NAME/locations/REGION_NAME/workflows/WORKFLOW_NAME/executions" \
      --time-zone="TIME_ZONE" \
      --oauth-service-account-email="SERVICE_ACCOUNT_NAME@PROJECT_NAME.iam.gserviceaccount.com"

    Em que:

    • JOB_NAME é o nome que você está atribuindo ao job do Cloud Scheduler;
    • PROJECT_NAME é o nome do projeto do Google Cloud;
    • REGION_NAME é a região em que seu fluxo de trabalho está, como us-central1;
    • WORKFLOW_NAME é o nome do fluxo de trabalho de que você quer programar a execução.
    • TIME_ZONE é o fuso horário que o Cloud Scheduler precisa usar para interpretar a programação fornecida.
    • SERVICE_ACCOUNT_NAME é o nome da conta de serviço que você criou anteriormente;

    Seu fluxo de trabalho agora é executado a cada cinco minutos.

A seguir