Este tutorial mostra como usar o Cloud Scheduler para executar automaticamente fluxos de trabalho, de modo que um fluxo de trabalho seja executado num horário específico, neste caso, a cada 5 minutos.
Crie um fluxo de trabalho que receba argumentos de tempo de execução
Uma definição de fluxo de trabalho é composta por uma série de passos descritos através da sintaxe do Workflows, que pode ser escrita no formato YAML ou JSON. Depois de criar um fluxo de trabalho, implementa-o para o tornar disponível para execução.
Consola
- Na Google Cloud consola, aceda à página Fluxos de trabalho: 
- Clique em Criar. 
- Introduza - myFirstWorkflowcomo nome do novo fluxo de trabalho.
- Selecione us-central1 para a região. 
- Selecione a conta de serviço que criou anteriormente. 
- Clicar em Seguinte. 
- No editor de fluxos de trabalho, introduza a seguinte definição para o seu fluxo de trabalho. - YAML- main: params: [args] steps: - step1: assign: - outputVar: ${"Hello, " + args.firstName + " " + args.lastName + "!"} - step2: return: ${outputVar} - JSON- { "main": { "params": [ "args" ], "steps": [ { "step1": { "assign": [ { "outputVar": "${\"Hello \" + args.firstName + \" \" + args.lastName}" } ] } }, { "step2": { "return": "${outputVar}" } } ] } } - Este fluxo de trabalho devolve uma saudação "Olá" a uma pessoa cujo nome próprio e apelido transmite como argumentos de tempo de execução. 
- Clique em Implementar. 
gcloud
- Abra um terminal.
- Guarde a seguinte definição do fluxo de trabalho como um ficheiro YAML ou JSON, como myFirstWorkflow.yaml ou myFirstWorkflow.json. - YAML- main: params: [args] steps: - step1: assign: - outputVar: ${"Hello, " + args.firstName + " " + args.lastName + "!"} - step2: return: ${outputVar} - JSON- { "main": { "params": [ "args" ], "steps": [ { "step1": { "assign": [ { "outputVar": "${\"Hello \" + args.firstName + \" \" + args.lastName}" } ] } }, { "step2": { "return": "${outputVar}" } } ] } } - Este fluxo de trabalho devolve uma saudação "Olá" a uma pessoa cujo nome próprio e apelido transmite como argumentos de tempo de execução. 
- Implemente o fluxo de trabalho introduzindo o seguinte comando: - gcloud workflows deploy myFirstWorkflow \ --source=myFirstWorkflow.yaml_OR_json \ --service-account=sa-name@PROJECT_ID.iam.gserviceaccount.com - Substitua - yaml_OR_jsonpor- yamlou- json, consoante o formato do ficheiro de definição do Workflows que criou anteriormente.
Agende o fluxo de trabalho
Crie uma tarefa do Cloud Scheduler que acione o fluxo de trabalho, usando a conta de serviço que criou anteriormente.
Consola
- Na Google Cloud consola, aceda à página Cloud Scheduler: 
- Clique em Criar tarefa. 
- Defina o Nome como - my-workflow-job.
- Para Frequência, introduza: - */5 * * * *
- Em Fuso horário, selecione um país e um fuso horário. - Por exemplo, selecione Estados Unidos e Los Angeles ou Hora de verão do Pacífico (PDT). 
- Clique em Continuar. 
- Para Tipo de destino, selecione HTTP. 
- Para URL, introduza: - https://workflowexecutions.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/workflows/myFirstWorkflow/executions 
- Deixe o método HTTP na predefinição de POST. 
- Adicione os dois cabeçalhos HTTP seguintes: - Nome: Content-Typee valor:application/octet-stream
- Nome: User-Agente valor:Google-Cloud-Scheduler
 
- Nome: 
- Para Corpo, introduza: - {"argument": "{\"firstName\":\"Sherlock\", \"lastName\":\"Holmes\"}"}- Isto transmite uma codificação JSON dos argumentos do fluxo de trabalho; neste caso, o nome próprio, "Sherlock", e o apelido, "Holmes". As aspas duplas no interior da string são interpretadas de forma literal através de barras invertidas (\). 
- Para Cabeçalho de autorização, selecione Adicionar token OAuth. 
- Introduza a conta de serviço que criou anteriormente. - sa-name@PROJECT_ID.iam.gserviceaccount.com - https://www.googleapis.com/auth/cloud-platform.
- Aceite todas as outras predefinições e clique em Criar. 
gcloud
Agende uma tarefa denominada my-workflow-job introduzindo o seguinte comando:
gcloud scheduler jobs create http my-workflow-job \
    --schedule="*/5 * * * *" \
    --uri="https://workflowexecutions.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/workflows/myFirstWorkflow/executions" \
    --message-body="{\"argument\": \"{\\\"firstName\\\":\\\"Sherlock\\\", \\\"lastName\\\":\\\"Holmes\\\"}\"}" \
    --time-zone="America/Los_Angeles" \
    --oauth-service-account-email="sa-name@PROJECT_ID.iam.gserviceaccount.com"O intervalo é definido através do formato unix-cron.
A flag message-body é usada para transmitir uma codificação JSON dos argumentos do fluxo de trabalho; neste caso, o nome próprio "Sherlock" e o apelido "Holmes". As aspas duplas na string são ignoradas
com barras invertidas (\).
O seu fluxo de trabalho é executado a cada 5 minutos.
Para mais informações sobre as flags gcloud scheduler, bem como sobre como aplicar o registo de chamadas para que cada passo de chamada durante a execução do fluxo de trabalho seja registado, consulte o artigo Agende um fluxo de trabalho e a gcloud referência.
Execute a tarefa e valide os resultados
Consola
- Na Google Cloud consola, aceda à página Cloud Scheduler: - Se o trabalho não for apresentado, pode ter de atualizar a página. 
- Para a tarefa com o nome - my-workflow-job, clique em Executar agora.- O valor do Resultado deve ser atualizado para Êxito. 
- Na Google Cloud consola, aceda à página Fluxos de trabalho: 
- Na lista de fluxos de trabalho, clique em myFirstWorkflow para abrir a respetiva página de detalhes. - O estado de execução do fluxo de trabalho deve ser Succeeded. 
- Clique no ID de execução do fluxo de trabalho para abrir a página de detalhes e ver os resultados do fluxo de trabalho no painel de saída. - O resultado deve ser "Olá, Sherlock Holmes!". 
gcloud
- Execute a tarefa do Cloud Scheduler para executar o fluxo de trabalho: - gcloud scheduler jobs run my-workflow-job 
- Recupere o ID de execução do seu fluxo de trabalho: - gcloud workflows executions list myFirstWorkflow - O resultado deve ser semelhante ao seguinte, com o ID de execução em negrito: - projects/316710615161/locations/us-central1/workflows/myFirstWorkflow/executions/138b31e1-f3bb-4ba7-a6da-008d0cb4a320 
- Obtenha os resultados da execução do fluxo de trabalho: - gcloud workflows executions describe EXECUTION_ID --workflow myFirstWorkflow - Substitua - EXECUTION_IDpelo ID de execução devolvido no passo anterior.- O resultado deve ser semelhante ao seguinte: - argument: '{"firstName":"Sherlock","lastName":"Holmes"}' endTime: '2021-09-09T15:15:00.869350639Z' name: projects/316710615161/locations/us-central1/workflows/myFirstWorkflow/executions/138b31e1-f3bb-4ba7-a6da-008d0cb4a320 result: '"Hello, Sherlock Holmes!"' startTime: '2021-09-09T15:15:00.839175480Z' state: SUCCEEDED workflowRevisionId: 000001-4f9
Parabéns! Criou com êxito uma tarefa do Cloud Scheduler que executa automaticamente um fluxo de trabalho num horário específico.