En esta página se describe cómo ejecutar trabajos de Cloud Run de forma programada con Cloud Scheduler.
Roles obligatorios
Para obtener los permisos que necesitas para las operaciones descritas en esta página, pide a tu administrador que te conceda los roles de gestión de identidades y accesos en tu trabajo de Cloud Run:
- Administrador de Cloud Scheduler
(
roles/cloudscheduler.admin) o un rol personalizado con el permisocloudscheduler.jobs.create. - Invocador de Cloud Run (
roles/run.invoker) para ejecutar tareas con Google Cloud CLI o Desarrollador de Cloud Run (roles/run.developer) para ejecutar tareas con la Google Cloud consola.
Para ver una lista de los roles y permisos de gestión de identidades y accesos asociados a Cloud Run, consulta los artículos Roles de gestión de identidades y accesos de Cloud Run y Permisos de gestión de identidades y accesos de Cloud Run. Si tu trabajo de Cloud Run interactúa con APIs deGoogle Cloud , como las bibliotecas de cliente de Cloud, consulta la guía de configuración de la identidad de servicio. Para obtener más información sobre cómo conceder roles, consulta los artículos sobre permisos de implementación y gestión del acceso.
Antes de empezar
Crea un trabajo de Cloud Run si aún no lo has hecho.
Configurar una tarea de Cloud Run para que se ejecute según una programación
Para ejecutar una tarea de Cloud Run según una programación, haz lo siguiente:
Consola
Haz clic en el trabajo que quieras ejecutar según una programación.
Haz clic en la pestaña Activadores.
Haz clic en Añadir activador de programación.
Si aún no has habilitado la API Cloud Scheduler en tu proyecto, se te pedirá que lo hagas en el panel de la derecha. Haz clic en Habilitar API.
Rellena el formulario de tarea de Cloud Scheduler
En Definir una programación:
Asigna un nombre a tu tarea de Cloud Scheduler.
Selecciona una región para tu tarea de Cloud Scheduler. No tiene que coincidir con la región usada en la tarea de Cloud Run.
Especifica la frecuencia de ejecución del trabajo con el formato cron para UNIX. Por ejemplo,
0 12 * * *.Selecciona tu zona horaria.
Haz clic en Continuar.
En el menú Cuenta de servicio, selecciona una cuenta de servicio que tenga permiso para invocar el servicio de Cloud Run actual.
Haga clic en Crear para crear la tarea de Cloud Scheduler que ejecutará la tarea de Cloud Run con la frecuencia especificada.
Línea de comandos
Primero debes crear un trabajo de Cloud Run.
Ejecuta el 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
Sustituir
- SCHEDULER_JOB_NAME con el nombre que quieras asignar al trabajo del programador.
- SCHEDULER_REGION con una región admitida por Cloud Scheduler, por ejemplo,
europe-west2. - CLOUD_RUN_REGION por la región de tu trabajo de Cloud Run. Por ejemplo,
europe-west1. - SCHEDULE con la frecuencia necesaria, por ejemplo,
0 12 * * *. - PROJECT-ID por el ID del proyecto.
- PROJECT-NUMBER con el número de tu proyecto.
- JOB-NAME con tu tarea de Cloud Run.
Terraform
Para saber cómo aplicar o quitar una configuración de Terraform, consulta Comandos básicos de Terraform.
Añade lo siguiente a un recursogoogle_cloud_run_v2_job
en tu configuración de Terraform:Cloud Scheduler ejecutará la tarea de Cloud Run con la frecuencia especificada.
Programar un trabajo dentro de un perímetro de Controles de Servicio de VPC
Si tu Google Cloud proyecto está dentro de un perímetro de Controles de Servicio de VPC en una red de nube privada virtual, la integración de Cloud Scheduler con Controles de Servicio de VPC admite trabajos de Cloud Run como destino mediante el siguiente formato de URI:
https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/jobs/JOB_NAME:run
Haz los cambios siguientes:
PROJECT_ID: el ID del proyecto. Google CloudREGION: la Google Cloud región del trabajo.JOB_NAME: el nombre del trabajo de Cloud Run.
Para obtener más información sobre cómo configurar Controles de Servicio de VPC para Cloud Run, consulta Usar Controles de Servicio de VPC. Para obtener más información sobre cómo usar Cloud Scheduler con Controles de Servicio de VPC, consulta Protege los trabajos cron con Controles de Servicio de VPC.
Siguientes pasos
Después de usar esta función, puedes hacer lo siguiente:
- Ver registros de tareas
- Monitorizar el rendimiento de los trabajos
- Crear un trabajo
- Ejecutar un trabajo
- Gestionar empleos