Nesta página, descrevemos como executar jobs do Cloud Run em uma programação usando o Cloud Scheduler.
Se o projeto Google Cloud estiver dentro de um perímetro do VPC Service Controls em uma rede de nuvem privada virtual, consulte Executar trabalhos em um cronograma em um perímetro do VPC Service Controls para instruções sobre como programar trabalhos para esse caso de uso.
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 Google Cloud APIs, como as 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: