Cette page explique comment exécuter des tâches Cloud Run de manière planifiée en utilisant Cloud Scheduler.
Rôles requis
Pour obtenir les autorisations nécessaires pour effectuer les opérations décrites sur cette page, demandez à votre administrateur de vous accorder les rôles IAM sur votre job Cloud Run :
- Administrateur Cloud Scheduler (
roles/cloudscheduler.admin
) ou un rôle personnalisé disposant de l'autorisationcloudscheduler.jobs.create
- Demandeur Cloud Run (
roles/run.invoker
) pour exécuter des jobs à l'aide de Google Cloud CLI, ou Développeur Cloud Run (roles/run.developer
) pour l'exécution des jobs à l'aide de la console Google Cloud
Pour obtenir la liste des rôles et des autorisations IAM associés à Cloud Run, consultez les sections Rôles IAM Cloud Run et Autorisations IAM Cloud Run. Si votre job Cloud Run communique avec des API Google Cloud, telles que des bibliothèques clientes Cloud, consultez le guide de configuration de l'identité du service. Pour en savoir plus sur l'attribution de rôles, consultez les sections Autorisations de déploiement et Gérer les accès.
Avant de commencer
Configurer un job Cloud Run pour qu'il s'exécute selon une programmation
Pour exécuter un job Cloud Run selon une programmation :
Console
Cliquez sur le job que vous souhaitez exécuter selon une programmation.
Cliquez sur l'onglet Triggers (Déclencheurs).
Cliquez sur Ajouter un déclencheur de programmeur.
Si vous n'avez pas encore activé l'API Cloud Scheduler pour votre projet, vous êtes invité à le faire dans le panneau tout à droite : cliquez sur Activer l'API.
Renseignez le formulaire de programmation de job Cloud Scheduler
Sous Définir un calendrier :
Attribuez un nom à votre job Cloud Scheduler.
Sélectionnez une région pour votre tâche Cloud Scheduler. Ce nom ne doit pas nécessairement correspondre à la région utilisée pour la tâche Cloud Run.
Spécifiez la fréquence d'exécution de votre job en utilisant le format unix-cron. Par exemple,
0 12 * * *
.Sélectionnez votre fuseau horaire.
Cliquez sur Continuer.
Dans le menu déroulant Compte de service, sélectionnez un compte de service autorisé à appeler le service Cloud Run actuel.
Cliquez sur Créer pour créer le job Cloud Scheduler qui va exécuter le job Cloud Run à la fréquence spécifiée.
Ligne de commande
Assurez-vous d'abord de créer un job Cloud Run.
Exécutez la commande suivante :
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-compute@developer.gserviceaccount.com
Remplacer
- SCHEDULER_JOB_NAME par le nom que vous souhaitez donner à votre tâche planifiée.
- SCHEDULER_REGION par une région compatible avec Cloud Scheduler. Par exemple,
europe-west2
. - CLOUD_RUN_REGION par la région de votre tâche Cloud Run. Pour prévisualiser, utilisez
europe-west9
. - SCHEDULE par la fréquence souhaitée, par exemple
0 12 * * *
. - PROJECT-ID par votre ID de projet.
- PROJECT-NUMBER par votre numéro de projet.
- JOB-NAME par votre tâche Cloud Run.
Terraform
Pour créer un job Cloud Scheduler qui exécute un job Cloud Run, procédez comme suit :
Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez la page Commandes Terraform de base.
Cloud Scheduler exécute la tâche Cloud Run à la fréquence spécifiée.
Étapes suivantes
Après avoir utilisé cette fonctionnalité, vous pouvez effectuer les opérations suivantes :
- Afficher les journaux de tâches
- Surveiller les performances des tâches
- Créer un job
- Exécuter une tâche
- Gérer les jobs