Exercice - Créer une fonction Azure déclenchée par un webhook

Effectué

Dans ce premier exercice, vous allez créer votre code pour analyser les messages d’événement wiki GitHub dans Azure Functions. Vous allez configurer votre fonction pour qu’elle s’exécute lors de la réception d’un message de webhook.

Créer une application de fonction

  1. Connectez-vous au portail Azure à l’aide de votre compte MS Learn.

  2. Sélectionnez Créer une ressource. Le volet Créer une ressource apparaît.

  3. Dans le volet du menu gauche, sous Catégories, sélectionnez Compute, puis dans la zone de recherche Recherche dans les services et la Place de marché, recherchez et sélectionnez Function App. Le volet Application de fonction s’affiche.

  4. Sélectionnez Créer. Le volet Créer une application de fonction s’affiche.

  5. Sous l’onglet Informations de base, entrez les valeurs suivantes pour chaque paramètre.

    Notes

    Le nom de l’application de fonction doit être unique. Nous vous suggérons d’utiliser quelque chose comme <votre nom ou vos initiales>triggerapp. Utilisez ce nom partout où vous voyez <nom-de-votre-application-de-fonction> dans cet exercice.

    Paramètre Valeur
    Détails du projet
    Abonnement Abonnement Concierge
    Groupe de ressources Dans la liste déroulante, sélectionnez le groupe de ressources de bac à sable (sandbox), [nom du groupe de ressources de bac à sable].
    Détails de l’instance
    Nom de l’application de fonction <nom-de-votre-application-de-fonction>
    Publier Code
    Pile d’exécution Node.js
    Version Accepter les valeurs par défaut
    Région Choisissez l’emplacement le plus proche de vous qui soit aussi une des régions de bac à sable autorisées.
    Système d’exploitation
    Système d'exploitation Windows
    Hébergement
    Options et plans d’hébergement Consommation (serverless)

    Le bac à sable gratuit vous permet de créer des ressources dans un sous-ensemble des régions globales Azure. Sélectionnez une région dans la liste suivante au moment où vous créez des ressources :

    • USA Ouest 2
    • États-Unis - partie centrale méridionale
    • USA Centre
    • USA Est
    • Europe Ouest
    • Asie Sud-Est
    • Japon Est
    • Brésil Sud
    • Australie Sud-Est
    • Inde centrale
  6. Sélectionnez Suivant : Stockage pour ouvrir l’onglet Stockage. Entrez les valeurs suivantes pour chaque paramètre.

    Paramètre Valeur
    Stockage
    Compte de stockage (Nouveau) et acceptez le nom par défaut.
  7. Sélectionnez Revoir + créer.

  8. Azure vérifie vos entrées. Quand c’est vérifié, sélectionnez Créer.

Créer une fonction déclenchée par un webhook

  1. Une fois le déploiement effectué, sélectionnez Accéder à la ressource. Le volet Vue d’ensemble s’affiche pour votre application de fonction.

  2. Sous Fonctions, sélectionnez Créer dans le Portail Microsoft Azure.

  3. Le volet Créer une fonction s’affiche.

  4. Sous Sélectionner un modèle, sélectionnez Déclencheur HTTP, puis Créer. Le volet HttpTrigger1 de votre fonction apparaît, affichant les éléments essentiels de votre nouveau déclencheur.

  5. Dans le volet du menu de gauche, sélectionnez Code + test sous Développeur. Le volet Code + Test apparaît pour votre fonction, montrant le fichier JavaScript qui a été créé à partir du modèle. Elle doit ressembler au code suivant.

    module.exports = async function (context, req) {
        context.log('JavaScript HTTP trigger function processed a request.');
    
        const name = (req.query.name || (req.body && req.body.name));
        const responseMessage = name
            ? "Hello, " + name + ". This HTTP triggered function executed successfully."
            : "This HTTP triggered function executed successfully. Pass a name in the query string or in the request body for a personalized response.";
    
        context.res = {
            // status: 200, /* Defaults to 200 */
            body: responseMessage
        };
    }
    

    Le fichier index.js est la fonction JavaScript générée par le portail. La requête lit un nom, passé sous forme de chaîne de requête ou faisant partie du corps de la requête, et répond par un message « Hello ».

  6. Au-dessus du code figure le chemin avec une liste déroulante montrant le nom du fichier. Dans la liste déroulante, sélectionnez function.json. Le fichier JSON qui a été créé par le modèle apparaît. Elle doit ressembler au code suivant.

    {
        "bindings": [
            {
                "authLevel": "function",
                "type": "httpTrigger",
                "direction": "in",
                "name": "req",
                "methods": [
                    "get",
                    "post"
                ]
            },
            {
                "type": "http",
                "direction": "out",
                "name": "res"
            }
        ]
    }
    

    Les liaisons JSON spécifient que la fonction est déclenchée par des requêtes HTTP GET et POST dirigées vers l’URL de l’application de fonction.

Tester le déclenchement de votre fonction

  1. Dans la barre de menus supérieure, sélectionnez Obtenir l’URL de la fonction.

  2. Dans la boîte de dialogue Obtenir l’URL de la fonction, dans la liste déroulante Touche, sous Touche de fonction, sélectionnez par défaut. Dans le champ URL, sélectionnez l’icône Copier dans le Presse-papiers. Votre URL doit ressembler à ceci :

    https://<your-functionapp-name>.azurewebsites.net/api/HttpTrigger1?code=aUjXIpqdJ0ZHPQuB0SzFegxGJu0nAXmsQBnmkCpJ6RYxleRaoxJ8cQ==
    
  3. Collez cette URL dans un navigateur puis, à la fin de l’URL, ajoutez le paramètre de chaîne de requête : &name=<votrenom>, par exemple &name=Daniel et Jeanne.

  4. Pour exécuter la demande, appuyez sur Entrée. La réponse retournée par la fonction s’affiche dans le navigateur. Elle doit ressembler à ceci :

    Hello Dick and Jane. This HTTP triggered function executed successfully.
    

Félicitations ! Vous disposez désormais d’une fonction qui peut être déclenchée par une URL.