Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Esta página mostra como usar o Cloud Scheduler para executar um fluxo de trabalho numa programação específica, como todas as segundas-feiras às 9:00 ou a cada 15 minutos. Pode configurar a programação na Google Cloud consola ou através da
Google Cloud CLI.
Antes de começar
Se ainda não tiver um fluxo de trabalho que queira agendar, crie e implemente um.
Substitua SERVICE_ACCOUNT_NAME por um nome com entre 6 e 30 carateres. Pode conter carateres alfanuméricos minúsculos e travessões.
Depois de criar uma conta de serviço, não pode alterar o respetivo nome.
SERVICE_ACCOUNT_NAME: o nome da conta de serviço que criou anteriormente.
Crie uma tarefa do Cloud Scheduler que acione o seu fluxo de trabalho, usando a conta de serviço que criou anteriormente para fazer a autenticação.
Tenha em atenção que, se estiver a aplicar o
registo de chamadas, tem de configurar o
registo de chamadas através da página Fluxos de trabalho na
Google Cloud consola. Para ver detalhes, consulte os passos seguintes.
Consola
Para agendar um fluxo de trabalho, aceda à página Fluxos de trabalho na Google Cloud consola:
Na página Fluxos de trabalho, selecione um fluxo de trabalho para aceder à respetiva página de detalhes.
Na página Detalhes do fluxo de trabalho, clique em
editEditar.
Na página Editar fluxo de trabalho, selecione Adicionar novo acionador >
Cloud Scheduler.
É apresentado o painel Criar uma tarefa do programador.
Defina o horário:
No campo Nome, introduza um nome para a tarefa do Cloud Scheduler. Tem de ser exclusivo entre os trabalhos na mesma região.
Na lista Região, selecione uma
região adequada; por exemplo, us-central1.
No campo Frequência, especifique um intervalo de tempo que define
num formato unix-cron.
Por exemplo, para agendar a execução do fluxo de trabalho a cada 5 minutos, escreva
*/5 * * * *.
Na lista Fuso horário, selecione o fuso horário que o Cloud Scheduler deve usar para interpretar a programação que
indicar. Pode pesquisar por país.
Clique em Continuar.
Configure a execução:
No campo Argumento do fluxo de trabalho, especifique quaisquer argumentos de tempo de execução
a transmitir ao fluxo de trabalho antes da execução. Os argumentos têm de estar no formato JSON. Por exemplo:
{"firstName":"Sherlock", "lastName":"Holmes"}.
Se o seu fluxo de trabalho não usar argumentos de tempo de execução, aceite o valor predefinido de
{} ou deixe o campo em branco.
Na lista Nível do registo de chamadas do fluxo de trabalho, selecione o nível de
registo de chamadas
que quer aplicar durante a execução do fluxo de trabalho:
Não especificado: não é especificado nenhum nível de registo. Esta é a predefinição.
Um nível de registo de execução tem precedência sobre qualquer nível de registo do fluxo de trabalho, a menos que o nível de registo de execução não seja especificado (predefinição). Nesse caso, aplica-se o nível de registo do fluxo de trabalho.
Apenas erros: registe todas as exceções capturadas ou quando uma chamada é interrompida devido a uma exceção.
Todas as chamadas: registe todas as chamadas para subfluxos de trabalho ou funções da biblioteca e os respetivos resultados.
Sem registos: sem registo de chamadas.
Na lista Conta de serviço, selecione a conta de serviço que
criou anteriormente.
Clique em Criar.
Tenha em atenção que, se estiver a atualizar um fluxo de trabalho existente, não precisa de voltar a implementá-lo.
A tarefa do Cloud Scheduler é agora apresentada no separador Acionadores
da página Detalhes do fluxo de trabalho.
Se quiser atualizar ou eliminar o trabalho, tem de editar o fluxo de trabalho:
Na página Detalhes do fluxo de trabalho, clique em
editEditar.
Na secção Acionadores, encontre a tarefa que quer atualizar ou
eliminar.
Clique em editEditar recurso ou
deleteEliminar recurso.
JOB_NAME: o nome que está a dar à sua tarefa do Cloud Scheduler.
FREQUENCY: um intervalo de tempo que define através de um formato unix-cron.
Por exemplo, para agendar a execução do fluxo de trabalho a cada 5 minutos, escreva
*/5 * * * *.
PROJECT_ID: o ID do seu projeto Google Cloud .
REGION_NAME: a região em que o fluxo de trabalho se encontra, como
us-central1.
WORKFLOW_NAME: o nome do fluxo de trabalho cuja execução quer agendar.
DOUBLE_ESCAPED_JSON_STRING: uma codificação JSON de quaisquer argumentos que esteja a transmitir. As aspas duplas na string entre aspas são
interpretadas de forma literal com barras invertidas (\). Por exemplo:
--message-body="{\"argument\": \"{\\\"foo\\\": \\\"bar\\\"}\"}"
TIME_ZONE: o
fuso horário
que o Cloud Scheduler deve usar para interpretar a programação que
indica. Por exemplo: America/New_York.
SERVICE_ACCOUNT_NAME: o nome da conta de serviço que criou anteriormente.
Para apresentar uma lista de todas as tarefas num projeto:
gcloudschedulerjobslist
Para eliminar uma tarefa:
gcloudschedulerjobsdeleteJOB_NAME
O fluxo de trabalho é agora executado de acordo com a frequência que definiu.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-08-20 UTC."],[],[],null,["# Schedule a workflow using Cloud Scheduler\n\nThis page shows you how to use [Cloud Scheduler](/scheduler/docs) to\nrun a workflow on a particular schedule, such as every Monday at 9 AM or every\n15 minutes. You can configure the schedule either in the Google Cloud console or by\nusing the Google Cloud CLI.\n\nBefore you begin\n----------------\n\n1. If you do not already have a workflow that you want to schedule, [create and deploy one](/workflows/docs/creating-updating-workflow#creating_a_workflow).\n2.\n\n\n Enable the Cloud Scheduler API.\n\n\n [Enable the API](https://console.cloud.google.com/flows/enableapi?apiid=cloudscheduler.googleapis.com)\nOr, in a terminal, enter the following command: \n\n```bash\ngcloud services enable cloudscheduler.googleapis.com\n```\n\nSchedule a workflow\n-------------------\n\n1. Create a [service account](/workflows/docs/authentication)\n so that Cloud Scheduler can make requests to the Workflows API:\n\n ```bash\n gcloud iam service-accounts create SERVICE_ACCOUNT_NAME\n ```\n\n Replace \u003cvar translate=\"no\"\u003eSERVICE_ACCOUNT_NAME\u003c/var\u003e with a name that is between 6 and 30\n characters. It can contain lowercase alphanumeric characters and dashes.\n After you create a service account, you cannot change its name.\n2. To allow the principal that will run your Cloud Scheduler\n commands the ability to act as an Identity and Access Management (IAM) service\n account,\n [grant a role that allows the principal to impersonate the service account](/iam/docs/service-account-permissions#roles).\n\n3. Grant your new service account the\n [workflows.invoker](/workflows/docs/access-control#roles) role so that the\n account has permission to trigger your workflow:\n\n \u003cbr /\u003e\n\n ```bash\n gcloud projects add-iam-policy-binding PROJECT_ID \\\n --member serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com \\\n --role roles/workflows.invoker\n ```\n\n \u003cbr /\u003e\n\n Replace the following:\n - \u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e: the ID of your Google Cloud project.\n - \u003cvar translate=\"no\"\u003eSERVICE_ACCOUNT_NAME\u003c/var\u003e: the name of the service account that you previously created.\n4. Create a Cloud Scheduler job that triggers your workflow, using the\n service account you previously created to authenticate.\n\n Note that if you are applying\n [call logging](/workflows/docs/log-workflow#call_logging), you must configure\n call logging through the **Workflows** page in the\n Google Cloud console. For details, refer to the following steps. \n\n ### Console\n\n 1. To schedule a workflow, go to the **Workflows** page in the Google Cloud console:\n\n\n [Go to Workflows](https://console.cloud.google.com/workflows)\n\n \u003cbr /\u003e\n\n 2. On the Workflows page, select a workflow to go to its\n details page.\n\n 3. On the **Workflow details** page, click\n *edit* **Edit**.\n\n 4. On the **Edit workflow** page, select **Add new trigger \\\u003e\n Cloud Scheduler**.\n\n The **Create a Scheduler job** pane opens.\n 5. Define the schedule:\n\n 1. In the **Name** field, enter a name for your Cloud Scheduler\n job. It must be unique across the jobs in the same region.\n\n 2. In the **Region** list, select an appropriate\n [region](/workflows/docs/locations); for example, **us-central1**.\n\n 3. In the **Frequency** field, specify a time interval that you define\n in a [unix-cron](/scheduler/docs/configuring/cron-job-schedules) format.\n For example, to schedule your workflow to execute every 5 minutes, type\n `*/5 * * * *`.\n\n 4. In the **Timezone** list, select the [time zone](/sdk/gcloud/reference/scheduler/jobs/create/http#--time-zone)\n that Cloud Scheduler should use to interpret the schedule you\n provide. You can search by country.\n\n 6. Click **Continue**.\n\n 7. Configure the execution:\n\n 1. In the **Workflow's argument** field, specify any [runtime arguments](/workflows/docs/passing-runtime-arguments)\n to pass to your workflow before execution. Arguments must be in JSON\n format. For example:\n `{\"firstName\":\"Sherlock\", \"lastName\":\"Holmes\"}`.\n If your workflow doesn't use runtime arguments, accept the default of\n `{}`, or leave the field blank.\n\n 2. In the **Workflow's call log level** list, select the level of\n [call logging](/workflows/docs/log-workflow#call_logging)\n that you want to apply during the execution of the workflow:\n\n - **Not specified**: no logging level is specified. This is the default. An execution log level takes precedence over any workflow log level, unless the execution log level is not specified (the default); in that case, the workflow log level applies.\n - **Errors only**: log all caught exceptions; or when a call is stopped due to an exception.\n - **All calls**: log all calls to subworkflows or library functions and their results.\n - **No logs**: no call logging.\n 3. In the **Service account** list, select the service account that\n you previously created.\n\n 8. Click **Create**.\n\n Note that if you are updating an existing workflow, you do *not* need\n to redeploy the workflow.\n\n The Cloud Scheduler job is now listed on the **Triggers**\n tab of the **Workflow details** page.\n 9. If you want to update or delete the job, you must edit the workflow:\n\n 1. On the **Workflow details** page, click *edit* **Edit**.\n 2. In the **Triggers** section, find the job you want to update or delete.\n 3. Click *edit* **Edit resource** or *delete* **Delete resource**.\n\n ### gcloud\n\n 1. Open a terminal and enter the following command:\n\n ```bash\n gcloud scheduler jobs create http JOB_NAME \\\n --schedule=\"\u003cvar translate=\"no\"\u003eFREQUENCY\u003c/var\u003e\" \\\n --uri=\"https://workflowexecutions.googleapis.com/v1/projects/\u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e/locations/\u003cvar translate=\"no\"\u003eREGION_NAME\u003c/var\u003e/workflows/\u003cvar translate=\"no\"\u003eWORKFLOW_NAME\u003c/var\u003e/executions\" \\\n --message-body=\"{\\\"argument\\\": \\\"\u003cvar translate=\"no\"\u003eDOUBLE_ESCAPED_JSON_STRING\u003c/var\u003e\\\"}\" \\\n --time-zone=\"\u003cvar translate=\"no\"\u003eTIME_ZONE\u003c/var\u003e\" \\\n --oauth-service-account-email=\"\u003cvar translate=\"no\"\u003eSERVICE_ACCOUNT_NAME\u003c/var\u003e@\u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e.iam.gserviceaccount.com\"\n ```\n\n Replace the following:\n - \u003cvar translate=\"no\"\u003eJOB_NAME\u003c/var\u003e: the name you are giving to your Cloud Scheduler job.\n - \u003cvar translate=\"no\"\u003eFREQUENCY\u003c/var\u003e: a time interval you define using a [unix-cron](/scheduler/docs/configuring/cron-job-schedules) format. For example, to schedule your workflow to execute every 5 minutes, type `*/5 * * * *`.\n - \u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e: the ID of your Google Cloud project.\n - \u003cvar translate=\"no\"\u003eREGION_NAME\u003c/var\u003e: the region your Workflow is in, such as `us-central1`.\n - \u003cvar translate=\"no\"\u003eWORKFLOW_NAME\u003c/var\u003e: the name of the workflow you want to schedule execution of.\n - \u003cvar translate=\"no\"\u003eDOUBLE_ESCAPED_JSON_STRING\u003c/var\u003e: a JSON encoding of any arguments you are passing. The double quotation marks inside the quoted string are escaped using backslashes (\\\\). For example: `--message-body=\"{\\\"argument\\\": \\\"{\\\\\\\"foo\\\\\\\": \\\\\\\"bar\\\\\\\"}\\\"}\"`\n - \u003cvar translate=\"no\"\u003eTIME_ZONE\u003c/var\u003e: the [time zone](/sdk/gcloud/reference/scheduler/jobs/create/http#--time-zone) that Cloud Scheduler should use to interpret the schedule you provide. For example: `America/New_York`.\n - \u003cvar translate=\"no\"\u003eSERVICE_ACCOUNT_NAME\u003c/var\u003e: the name of the service account that you previously created.\n 2. To list all jobs in a project:\n\n ```bash\n gcloud scheduler jobs list\n ```\n\n \u003cbr /\u003e\n\n 3. To delete a job:\n\n ```bash\n gcloud scheduler jobs delete JOB_NAME\n ```\n\n \u003cbr /\u003e\n\nYour workflow now executes according to the frequency you have defined.\n| **Note:** Each execution of a workflow incurs costs, as detailed in [Workflows pricing](/workflows/pricing). To stop incurring costs from a scheduled workflow, [delete the Cloud Scheduler job](/sdk/gcloud/reference/scheduler/jobs/delete).\n\nWhat's next\n-----------\n\n- [Use IAM to control access](/workflows/docs/use-iam-for-access)\n- [Pass runtime arguments in an execution request](/workflows/docs/passing-runtime-arguments)\n- [Tutorial: Schedule Workflows with Cloud Scheduler](/scheduler/docs/tut-workflows)"]]