Déclencher une fonction Cloud à l'aide de Pub/Sub

Ce tutoriel montre comment utiliser Cloud Scheduler et Pub/Sub pour déclencher une fonction Cloud. Il est courant d'utiliser Cloud Scheduler afin de planifier l'exécution d'une fonction Cloud Functions. Vous découvrirez comment :

  • créer une fonction Cloud simple qui s'abonne à un sujet Pub/Sub ;
  • créer un sujet Pub/Sub pour déclencher cette fonction ;
  • Créer une tâche Cloud Scheduler qui appelle le déclencheur Pub/Sub
  • exécuter la tâche Cloud Scheduler ;
  • vérifier le bon déroulement de l'opération.

Avant de commencer

Dans ce tutoriel, nous partons du principe que vous avez déjà effectué le Démarrage rapide de Cloud Scheduler. Par conséquent, vous disposez des outils et ressources suivants:

  • Un projet Google Cloud avec facturation activée.

  • L'API Cloud Scheduler et l'API Pub/Sub sont toutes deux activées sur le projet. Vous activerez l'API Cloud Functions au cours de ce tutoriel.

Coûts

Ce tutoriel utilise les composants facturables suivants de Google Cloud :

  • Cloud Functions
  • Pub/Sub
  • Cloud Scheduler

Obtenez une estimation des coûts en fonction de votre utilisation prévue à l'aide du simulateur de coût. Les nouveaux utilisateurs de Google Cloud peuvent bénéficier d'un essai gratuit.

Créer une fonction Cloud Functions

  1. Dans Google Cloud Console, accédez à la page Cloud Functions.

    Accéder à Cloud Functions

  2. Cliquez sur Enable API (Activer l'API).

  3. Cliquez sur Create function (Créer une fonction).

    Image

  4. Attribuez un nom à votre fonction. Acceptez la valeur par défaut pour l'allocation de mémoire.

  5. Dans la liste Déclencheur, sélectionnez Cloud Pub/Sub.

  6. Sélectionnez un sujet existant dans le menu déroulant ou utilisez le pop-up Créer un sujet pour en créer un. Votre fonction est désormais abonnée au sujet. Notez le nom du sujet. Vous en aurez besoin par la suite.

  7. Acceptez les valeurs par défaut pour tout le reste, y compris les exemples de code index.js et package.json.

  8. Cliquez sur Create (Créer).

Créer une tâche Cloud Scheduler

  1. Dans la console Google Cloud, accédez à la page Cloud Scheduler.

    Accéder à Cloud Scheduler

  2. Cliquez sur Create a job (Créer une tâche).

  3. Si nécessaire, sélectionnez la région dans laquelle exécuter votre tâche.

  4. Attribuez un nom à votre tâche. Vous pouvez éventuellement ajouter une description.

  5. Dans le champ Frequency (Fréquence), spécifiez la fréquence de votre tâche en utilisant le format unix-cron.

    30 16 * * 7
    

    Pour en savoir plus, consultez Configurer des planifications de tâches Cron.

  6. Sélectionnez votre fuseau horaire.

  7. Cliquez sur Continuer.

  8. Dans la liste Cible, sélectionnez Pub/Sub.

  9. Sélectionnez le nom de votre thème.

  10. Ajoutez une brève chaîne de message à envoyer à votre cible.

  11. Cliquez sur Create (Créer).

Vous disposez maintenant d'une tâche Cron qui envoie un message à votre sujet Pub/Sub le dimanche à 16h30. Votre fonction Cloud Functions est abonnée à ce sujet.

Exécuter votre tâche

Vous pouvez maintenant exécuter la tâche que vous avez créée.

  1. Dans Google Cloud Console, accédez à la page Cloud Scheduler.

    Accéder à Cloud Scheduler

  2. Cliquez sur Exécuter maintenant.

    La première exécution de la première tâche créée dans un projet peut prendre quelques minutes, étant donné que des opérations de configuration sont requises.

  3. Observez la colonne Result (Résultat).

    image

Félicitations ! Vous venez d'utiliser la console pour afficher les résultats de l'exécution d'une tâche Cron qui envoie un message à Pub/Sub. Dans la prochaine étape, vous allez découvrir comment vérifier que votre fonction Cloud Functions a bien été exécutée.

Vérifier les résultats dans Cloud Functions

Pour vérifier que votre fonction Cloud est correctement déclenchée par votre tâche Cron:

  1. Dans la console Google Cloud, accédez à la page Cloud Functions.

    Accéder à Cloud Functions

  2. Cliquez sur le nom de la fonction.

    Image

  3. La page Informations sur la fonction s'ouvre. Vérifiez les appels de fonction.

    Image

    Félicitations ! Votre fonction a été exécutée.

  4. Cliquez sur View logs (Afficher les journaux).

    Image

  5. Consultez les détails de l'appel.

    image

Nettoyer

Pour éviter que les ressources utilisées dans ce tutoriel soient facturées sur votre compte Google Cloud:

Supprimer la tâche Cloud Scheduler

  1. Dans la console Google Cloud, accédez à la page Cloud Scheduler.

    Accéder à Scheduler

  2. Cochez la case située en regard de votre tâche.

  3. Cliquez sur Supprimer, puis confirmez la suppression.

Supprimer le sujet Pub/Sub

  1. Dans Google Cloud Console, accédez à la page Cloud Pub/Sub.

    Accéder à Pub/Sub

  2. Cochez la case située à côté de votre thème.

  3. Cliquez sur Supprimer, puis confirmez la suppression.

Supprimer la fonction Cloud Functions

  1. Dans la console Google Cloud, accédez à la page Cloud Functions.

    Accéder à Cloud Functions

  2. Cochez la case située à côté de votre fonction.

  3. Cliquez sur Supprimer, puis confirmez la suppression.

Supprimer le projet

Si vous avez créé un projet seulement pour ce tutoriel :

  1. Dans la console, accédez à la page Gérer les ressources.

    Accéder à la page Gérer les ressources

  2. Dans la liste des projets, sélectionnez le projet que vous souhaitez supprimer, puis cliquez sur Supprimer.
  3. Dans la boîte de dialogue, saisissez l'ID du projet, puis cliquez sur Arrêter pour supprimer le projet.