Nesta página, descrevemos como executar jobs do Cloud Run em uma programação usando o Cloud Scheduler.
Funções exigidas
Para receber as permissões necessárias para as operações descritas nesta página, peça ao administrador para conceder a você os papéis do IAM no job do Cloud Run:
- Administrador do Cloud Scheduler (
roles/cloudscheduler.admin
) ou um papel personalizado com a permissãocloudscheduler.jobs.create
- Invocador do Cloud Run (
roles/run.invoker
) para executar jobs usando a CLI do Google Cloud ou Desenvolvedor do Cloud Run (roles/run.developer
) para executar jobs usando o console do Google Cloud
Para uma lista de papéis e permissões do IAM associados ao Cloud Run, consulte Papéis do IAM do Cloud Run e Permissões do IAM do Cloud Run. Se o job do Cloud Run interagir com APIs do Google Cloud, como bibliotecas de cliente do Cloud, consulte o guia de configuração de identidade de serviço. Para mais informações sobre como conceder papéis, consulte permissões de implantação e gerenciar acesso.
Antes de começar
Configurar um job do Cloud Run para ser executado em uma programação
Para executar um job do Cloud Run em uma programação:
Console
Clique no job que você quer executar em uma programação.
Clique na guia Gatilhos.
Clique em Adicionar gatilho do programador.
Se você ainda não ativou a API Cloud Scheduler para seu projeto, no painel direito, clique em Ativar API.
Preencher o formulário de jobs do Cloud Scheduler
Em Definir uma programação:
Dê um nome ao job do Cloud Scheduler.
Selecione uma região para seus jobs do Cloud Scheduler. Ele não precisa corresponder à região usada para o job do Cloud Run.
Especifique a frequência da execução do job usando o formato unix-cron, por exemplo,
0 12 * * *
Selecione seu fuso horário.
Clique em Continuar.
No menu suspenso Conta de serviço, selecione uma conta que tenha permissão para invocar o serviço atual do Cloud Run.
Clique em Criar para criar o job do Cloud Scheduler que executará o job do Cloud Run na frequência especificada.
Linha de comando
Primeiro, crie um job do Cloud Run.
Execute o comando:
gcloud scheduler jobs create http SCHEDULER_JOB_NAME \ --location SCHEDULER_REGION \ --schedule="SCHEDULE" \ --uri="https://CLOUD_RUN_REGION-run.googleapis.com/apis/run.googleapis.com/v1/namespaces/PROJECT-ID/jobs/JOB-NAME:run" \ --http-method POST \ --oauth-service-account-email PROJECT-NUMBER-compute@developer.gserviceaccount.com
Substituir
- SCHEDULER_JOB_NAME pelo nome que você quer dar ao job do programador;
- SCHEDULER_REGION por uma região compatível com o
Cloud Scheduler, por exemplo,
europe-west2
. - CLOUD_RUN_REGION pela região do seu job do
Cloud Run. Para visualização, use
europe-west9
. - SCHEDULE pela frequência desejada. Por exemplo:
0 12 * * *
- PROJECT-ID pelo código do projeto;
- PROJECT-NUMBER pelo número do projeto.
- JOB-NAME pelo job do Cloud Run.
Terraform
Para criar um job do Cloud Scheduler que execute um job do Cloud Run:
Para saber como aplicar ou remover uma configuração do Terraform, consulte Comandos básicos do Terraform.
O Cloud Scheduler executará o job do Cloud Run na frequência especificada.
A seguir
Após usar esse recurso, você poderá fazer o seguinte: