Esta página descreve como executar tarefas do Cloud Run de forma programada através do Cloud Scheduler.
Se o seu Google Cloud projeto estiver dentro de um perímetro do VPC Service Controls numa rede de nuvem virtual privada, consulte o artigo Execute trabalhos de forma agendada num perímetro do VPC Service Controls para ver instruções sobre como agendar trabalhos para esse exemplo de utilização.
Funções necessárias
Para receber as autorizações de que precisa para as operações descritas nesta página, peça ao seu administrador para lhe conceder as funções de IAM na sua tarefa do Cloud Run:
- Administrador do Cloud Scheduler
(
roles/cloudscheduler.admin
) ou uma função personalizada com a autorizaçãocloudscheduler.jobs.create
- Cloud Run Invoker (
roles/run.invoker
) para executar tarefas através da CLI do Google Cloud ou Cloud Run Developer (roles/run.developer
) para executar tarefas através da Google Cloud consola
Para ver uma lista de funções e autorizações de IAM associadas ao Cloud Run, consulte os artigos Funções de IAM do Cloud Run e Autorizações de IAM do Cloud Run. Se a sua tarefa do Cloud Run interagir com Google Cloud APIs, como as bibliotecas de cliente da Google Cloud, consulte o guia de configuração da identidade do serviço. Para mais informações sobre a atribuição de funções, consulte as autorizações de implementação e faça a gestão do acesso.
Antes de começar
Configure uma tarefa do Cloud Run para execução de acordo com uma programação
Para executar uma tarefa do Cloud Run com base numa programação:
Consola
Clique na tarefa que quer executar de acordo com uma programação.
Clique no separador Acionadores.
Clique em Adicionar acionador do agendador.
Se ainda não ativou a API Cloud Scheduler para o seu projeto, é-lhe pedido que o faça no painel do lado direito: clique em Ativar API.
Preencha o formulário de tarefas do Cloud Scheduler
Em Defina um horário:
Atribua um nome à tarefa do Cloud Scheduler.
Selecione uma região para a sua tarefa do Cloud Scheduler. Não tem de corresponder à região usada para a tarefa do Cloud Run.
Especifique a frequência de execução da tarefa, usando o formato unix-cron, por exemplo,
0 12 * * *
Selecione o seu fuso horário.
Clique em Continuar.
No menu pendente Conta de serviço, selecione uma conta de serviço que tenha autorização para invocar o serviço do Cloud Run atual.
Clique em Criar para criar a tarefa do Cloud Scheduler que vai executar a tarefa do Cloud Run na frequência especificada.
Linha de comandos
Certifique-se de que cria primeiro uma tarefa do Cloud Run.
Execute o comando:
gcloud scheduler jobs create http SCHEDULER_JOB_NAME \ --location SCHEDULER_REGION \ --schedule="SCHEDULE" \ --uri="https://run.googleapis.com/v2/projects/PROJECT-ID/locations/CLOUD_RUN_REGION/jobs/JOB-NAME:run" \ --http-method POST \ --oauth-service-account-email PROJECT-NUMBER-compute@developer.gserviceaccount.com
Substituir
- SCHEDULER_JOB_NAME com o nome que quer dar à tarefa do agendador.
- SCHEDULER_REGION com uma região suportada pelo
Cloud Scheduler, por exemplo,
europe-west2
. - CLOUD_RUN_REGION com a região da tarefa do Cloud Run. Para pré-visualizar, use
europe-west9
. - SCHEDULE com a frequência desejada, por exemplo,
0 12 * * *
- PROJECT-ID com o ID do seu projeto.
- PROJECT-NUMBER com o número do projeto.
- JOB-NAME com a sua tarefa do Cloud Run.
Terraform
Para saber como aplicar ou remover uma configuração do Terraform, consulte os comandos básicos do Terraform.
Adicione o seguinte a um recursogoogle_cloud_run_v2_job
na sua configuração do Terraform:O Cloud Scheduler executa a tarefa do Cloud Run na frequência especificada.
O que se segue?
Depois de usar esta funcionalidade, pode fazer o seguinte:
- Veja os registos de tarefas
- Monitorize o desempenho das tarefas
- Crie uma tarefa
- Execute um trabalho
- Faça a gestão de serviços