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 con 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 lasGoogle Cloud APIs, como las bibliotecas cliente de Cloud, consulta la guía de configuración de identidades del servicio. Para obtener más información sobre cómo otorgar roles, consulta los permisos de implementación y cómo administrar el acceso.
Antes de comenzar
Crea un trabajo de Cloud Run si aún no lo hiciste.
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ú 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://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
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. Por ejemplo,
europe-west1 - SCHEDULE con la frecuencia necesaria, 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
Si deseas obtener más información para aplicar o quitar una configuración de Terraform, consulta los comandos básicos de Terraform.
Agrega lo siguiente a un recursogoogle_cloud_run_v2_job en tu configuración de Terraform:Cloud Scheduler ejecutará el trabajo de Cloud Run con la frecuencia especificada.
Programa tu trabajo dentro de un perímetro de Controles del servicio de VPC
Si tu proyecto Google Cloud se encuentra dentro de un perímetro de Controles del servicio de VPC en una red de nube privada virtual, la integración de Cloud Scheduler con los Controles del servicio de VPC admite trabajos de Cloud Run como destino con el siguiente formato de URI:
https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/jobs/JOB_NAME:run
Reemplaza lo siguiente:
PROJECT_ID: Es el ID del proyecto de Google Cloud .REGION: Es la Google Cloud región del trabajo.JOB_NAME: Es el nombre del trabajo de Cloud Run.
Para obtener más información sobre cómo configurar los Controles del servicio de VPC para Cloud Run, consulta Usa los Controles del servicio de VPC (VPC SC). Para obtener más información sobre el uso de Cloud Scheduler con los Controles del servicio de VPC, consulta Protege los trabajos de cron con los Controles del servicio de VPC.
¿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