En esta página se describe cómo ejecutar trabajos de Cloud Run de forma programada con Cloud Scheduler.
Si tu Google Cloud proyecto está dentro de un perímetro de Controles de Servicio de VPC en una red de nube privada virtual, consulta Ejecutar trabajos de forma programada en un perímetro de Controles de Servicio de VPC para obtener instrucciones sobre cómo programar trabajos para ese caso práctico.
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 sobre 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
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 programador.
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.
Especifique 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ú desplegable 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 compatible con Cloud Scheduler, por ejemplo,
europe-west2
. - CLOUD_RUN_REGION por la región de tu trabajo de Cloud Run. Para obtener una vista previa, usa
europe-west9
. - SCHEDULE con la frecuencia que quieras, 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.
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 una tarea
- Gestionar empleos