Planifier et exécuter un job Cron à l'aide de la gcloud CLI
Ce guide de démarrage rapide vous explique comment utiliser la gcloud CLI pour effectuer des opérations de base à l'aide de Cloud Scheduler.
Dans le cadre de ce guide démarrage rapide, vous allez effectuer les étapes suivantes :
- Créez un sujet Pub/Sub à configurer comme cible de votre tâche Cloud Scheduler.
- Créez un job Cron à l'aide de Cloud Scheduler et configurez une planification récurrente pour le job.
- Exécutez votre tâche.
- Vérifiez que la tâche a bien été exécutée.
Une version sans frais de Cloud Scheduler est disponible. Par conséquent, l'exécution de ce démarrage rapide ne vous coûtera rien. Pour en savoir plus, reportez-vous à la page Tarifs.
Avant de commencer
- Connectez-vous à votre Google Cloud compte. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits sans frais pour exécuter, tester et déployer des charges de travail.
-
Installez la Google Cloud CLI.
-
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
-
Pour initialiser la gcloud CLI, exécutez la commande suivante :
gcloud init -
Créez ou sélectionnez un Google Cloud projet.
Rôles requis pour sélectionner ou créer un projet
- Sélectionner un projet : la sélection d'un projet ne nécessite pas de rôle IAM spécifique Vous pouvez sélectionner n'importe quel projet pour lequel un rôle vous a été attribué.
-
Créer un projet : pour créer un projet, vous avez besoin du rôle Créateur de projet
(
roles/resourcemanager.projectCreator), qui contient l'autorisationresourcemanager.projects.create. Découvrez comment attribuer des rôles.
-
Créez un Google Cloud projet :
gcloud projects create PROJECT_ID
Remplacez
PROJECT_IDpar un nom pour le Google Cloud projet que vous créez. -
Sélectionnez le Google Cloud projet que vous avez créé :
gcloud config set project PROJECT_ID
Remplacez
PROJECT_IDpar le nom de votre Google Cloud projet.
-
Si vous utilisez un projet existant pour ce guide, vérifiez que vous disposez des autorisations nécessaires pour suivre les instructions. Si vous avez créé un nouveau projet, vous disposez déjà des autorisations requises.
-
Vérifiez que la facturation est activée pour votre Google Cloud projet.
Activez les API Cloud Scheduler et Pub/Sub :
Rôles requis pour activer les API
Pour activer les API, vous avez besoin du rôle IAM Administrateur de Service Usage (
roles/serviceusage.serviceUsageAdmin), qui contient l'serviceusage.services.enableautorisation. Découvrez comment attribuer des rôles.gcloud services enable cloudscheduler.googleapis.com
pubsub.googleapis.com -
Installez la Google Cloud CLI.
-
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
-
Pour initialiser la gcloud CLI, exécutez la commande suivante :
gcloud init -
Créez ou sélectionnez un Google Cloud projet.
Rôles requis pour sélectionner ou créer un projet
- Sélectionner un projet : la sélection d'un projet ne nécessite pas de rôle IAM spécifique Vous pouvez sélectionner n'importe quel projet pour lequel un rôle vous a été attribué.
-
Créer un projet : pour créer un projet, vous avez besoin du rôle Créateur de projet
(
roles/resourcemanager.projectCreator), qui contient l'autorisationresourcemanager.projects.create. Découvrez comment attribuer des rôles.
-
Créez un Google Cloud projet :
gcloud projects create PROJECT_ID
Remplacez
PROJECT_IDpar un nom pour le Google Cloud projet que vous créez. -
Sélectionnez le Google Cloud projet que vous avez créé :
gcloud config set project PROJECT_ID
Remplacez
PROJECT_IDpar le nom de votre Google Cloud projet.
-
Si vous utilisez un projet existant pour ce guide, vérifiez que vous disposez des autorisations nécessaires pour suivre les instructions. Si vous avez créé un nouveau projet, vous disposez déjà des autorisations requises.
-
Vérifiez que la facturation est activée pour votre Google Cloud projet.
Activez les API Cloud Scheduler et Pub/Sub :
Rôles requis pour activer les API
Pour activer les API, vous avez besoin du rôle IAM Administrateur de Service Usage (
roles/serviceusage.serviceUsageAdmin), qui contient l'serviceusage.services.enableautorisation. Découvrez comment attribuer des rôles.gcloud services enable cloudscheduler.googleapis.com
pubsub.googleapis.com
Rôles requis
Pour obtenir les autorisations nécessaires pour suivre ce guide de démarrage rapide, demandez à votre administrateur de vous accorder les rôles IAM suivants sur votre projet :
- Administrateur Cloud Scheduler (
roles/cloudscheduler.admin) - Éditeur Pub/Sub (
roles/pubsub.editor)
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Vous pouvez également obtenir les autorisations requises avec des rôles personnalisés ou d'autres rôles prédéfinis.
Créer un sujet et un abonnement Pub/Sub
Un sujet Pub/Sub est une ressource à laquelle les diffuseurs peuvent envoyer des messages. Pour recevoir des messages publiés dans un sujet, vous devez créer un abonnement associé à ce sujet.
Configurez un sujet Pub/Sub à utiliser comme cible pour votre job Cron :
gcloud pubsub topics create cron-topicCette opération crée un sujet appelé
cron-topic.Pour recevoir des messages et afficher les résultats de votre tâche, créez un abonnement Pub/Sub :
gcloud pubsub subscriptions create cron-sub --topic cron-topic
Créer un job Cron à l'aide de Cloud Scheduler
Utilisez la gcloud scheduler jobs create pubsub commande pour configurer une unité de travail appelée job Cron qui est envoyée à une cible Pub/Sub selon une planification récurrente. La planification est spécifiée à l'aide d'un format basé sur unix-cron. Pour en savoir plus, consultez la section
Format et fuseau horaire des tâches Cron.
gcloud scheduler jobs create pubsub my-cron-job \
--schedule="30 16 * * 7" \
--topic=cron-topic \
--location="us-east1" \
--message-body="Hello world"
Vous avez créé une tâche qui envoie un message "Hello world" à votre sujet Pub/Sub le dimanche à 16h30.
Vous pouvez maintenant exécuter la tâche.
Exécuter votre tâche
En plus de l'exécution selon la planification spécifiée, vous pouvez forcer l'exécution immédiate de votre tâche :
gcloud scheduler jobs run my-cron-job --location="us-east1"
Notez qu'en raison d'une configuration initiale, l'exécution de la première tâche créée dans un projet peut prendre quelques minutes.
Ensuite, vous pouvez vérifier que votre sujet Pub/Sub a bien reçu le message.
Vérifier les résultats dans Pub/Sub
Vérifiez que votre sujet Pub/Sub reçoit des messages de votre tâche.
Extrayez des messages Pub/Sub d'un abonnement :
gcloud pubsub subscriptions pull cron-sub --limit 5Si aucun message n'a été initialement récupéré, exécutez de nouveau la commande.
Consultez les résultats de l'exécution de votre tâche. Le résultat doit ressembler à ce qui suit :
DATA: Hello world! MESSAGE_ID: 5028933846601543 ORDERING_KEY: ATTRIBUTES: DELIVERY_ATTEMPT: ACK_ID: RFAGFixdRkhRNxkIaFEOT14jPzUgKEUQAgVPAihdeTFXLkFacGhRDRlyfWB9[...]
Libérer de l'espace
Pour éviter que les ressources utilisées dans cette démonstration soient facturées sur votre Google Cloud compte pour les ressources utilisées sur cette page, supprimez le Google Cloud projet qui les contient.
Supprimez un Google Cloud projet :
gcloud projects delete PROJECT_ID
Vous pouvez également supprimer les ressources que vous avez créées pour ce démarrage rapide :
Supprimez le job Cron. Dans Cloud Shell ou sur la machine sur laquelle vous avez installé la gcloud CLI, exécutez la commande :
gcloud scheduler jobs delete MY_JOB \ --location="LOCATION"Remplacez les éléments suivants :
MY_JOB: nom de la tâche à supprimer.LOCATION: emplacement de la tâche. Par défaut, utilise l'emplacement de l'application App Engine du projet actuel, s'il existe une application associée.
Supprimez le sujet Pub/Sub. Dans Cloud Shell ou sur la machine sur laquelle vous avez installé la gcloud CLI, exécutez la commande :
gcloud pubsub topics delete TOPIC_IDRemplacez
TOPIC_IDpar l'ID du sujet Pub/Sub à supprimer.Supprimez l'abonnement Pub/Sub. Dans Cloud Shell ou sur la machine sur laquelle vous avez installé la gcloud CLI, exécutez la commande :
gcloud pubsub subscriptions delete SUBSCRIPTION_IDRemplacez
SUBSCRIPTION_IDpar l'ID de l'abonnement Pub/Sub à supprimer.
Étape suivante
Découvrez Cloud Scheduler.
Découvrez comment afficher les journaux de Cloud Scheduler.