En esta página, se describe cómo ejecutar trabajos de Cloud Run según un programa con Cloud Scheduler.
Roles obligatorios
Para obtener los permisos que necesitas para las operaciones descritas en esta página, pídele a tu administrador que te otorgue los roles de IAM 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 trabajos mediante Google Cloud CLI, o desarrollador de Cloud Run (roles/run.developer
) para ejecutar trabajos con la consola de Google Cloud
Para obtener una lista de los roles y los permisos de IAM asociados con Cloud Run, consulta los roles de IAM de Cloud Run y los permisos de IAM de Cloud Run. Si tu trabajo de Cloud Run interactúa con las APIs de Google Cloud, como las bibliotecas cliente de Cloud, consulta la guía de configuración de identidades del servicio. Para obtener más información acerca de cómo otorgar roles, consulta Permisos de implementación y Administra el acceso.
Antes de comenzar
Configura un trabajo de Cloud Run para que se ejecute según un programa
Para ejecutar un trabajo de Cloud Run según un programa, haz lo siguiente:
Console
Haz clic en el trabajo que deseas ejecutar según un programa.
Hacer clic en la pestaña Activadores
Haz clic en Agregar activador de Scheduler.
Si aún no habilitaste la API de Cloud Scheduler para tu proyecto, se te solicitará que lo hagas en el panel derecho: haz clic en Habilitar API.
Completa el formulario de trabajo de Cloud Scheduler
En Define a program, haz lo siguiente:
Asigna un nombre a tu trabajo de Cloud Scheduler.
Selecciona una región para tu trabajo de Cloud Scheduler. No es necesario que coincida con la región que se usa para el trabajo de Cloud Run.
Especifica la frecuencia de tu trabajo usando el formato unix-cron, 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 actual de Cloud Run.
Haz clic en Crear para crear el trabajo de Cloud Scheduler que ejecutará el trabajo de Cloud Run con la frecuencia especificada.
Línea de comandos
Asegúrate de crear un trabajo de Cloud Run primero.
Ejecuta el 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[email protected]
Reemplazar
- SCHEDULER_JOB_NAME por el nombre que deseas asignar a tu trabajo de programador.
- SCHEDULER_REGION por una región compatible con Cloud Scheduler, por ejemplo,
europe-west2
. - CLOUD_RUN_REGION por la región del trabajo de Cloud Run. Para obtener una vista previa, usa
europe-west9
. - SCHEDULE por la frecuencia deseada, por ejemplo
0 12 * * *
. - PROJECT-ID por el ID del proyecto
- PROJECT-NUMBER por el número de tu proyecto.
- JOB-NAME por tu trabajo de Cloud Run.
Terraform
Para crear un trabajo de Cloud Scheduler que ejecute un trabajo de Cloud Run, sigue estos pasos:
Si deseas obtener más información para aplicar o quitar una configuración de Terraform, consulta los comandos básicos de Terraform.
Cloud Scheduler ejecutará el trabajo de Cloud Run con la frecuencia especificada.
¿Qué sigue?
Después de usar esta función, puedes hacer lo siguiente:
- Ver registros de trabajos
- Supervisar el rendimiento del trabajo
- Crea un trabajo
- Ejecuta un trabajo
- Administrar empleos