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

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 le bouton + Créer une ressource en haut à gauche du portail Azure, puis sélectionnez Compute > Function App.

    Important

    Nous travaillons actuellement à la mise à jour de notre bac à sable (sandbox) pour prendre en charge le nouveau workflow de création d’une fonction Azure dans le portail. Les instructions seront mises à jour quand elles seront disponibles. En attendant, vous pouvez utiliser la version de l’expérience de création qui correspond aux instructions actuelles en cliquant sur la barre de notification nommée Vous recherchez l’expérience classique de création d’application de fonction ? en haut de la page Application de fonction. Cette expérience est également accessible en choisissant l’option Application de fonction (classique) à partir de la Place de marché Azure.

  3. Dans la page Application de fonction, spécifiez les paramètres suivants :

    Notes

    L’application de fonction doit avoir un nom unique. Nous vous suggérons d’utiliser quelque chose comme <your name or initials>triggerapp. Utilisez ce nom partout où vous voyez <your-functionapp-name> dans cet exercice.

    Propriété Valeur
    Nom <your-functionapp-name>
    Abonnement Abonnement Concierge
    Groupe de ressources Sélectionnez Utiliser l’existant et choisissez le groupe de ressources de bac à sable, [nom du groupe de ressources de bac à sable].
    Système d’exploitation Windows
    Plan d’hébergement Plan Consommation
    Emplacement Choisissez l’emplacement le plus proche qui est également l’une des régions de bac à sable autorisées listées ci-dessous.
    Pile d’exécution Node.js
    Stockage Créez un nom ou acceptez le nom par défaut.

    Régions de bac à sable

    Le bac à sable gratuit vous permet de créer des ressources dans certaines régions Azure du monde. 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 Centre
  4. Sélectionnez Créer et attendez que l’application de fonction soit déployée avant de continuer.

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

  1. Dans le volet de gauche du portail, sélectionnez Toutes les ressources, puis sélectionnez l’application de fonction que vous venez de créer.

  2. Dans la page de l’application de fonction, développez votre nouvelle application de fonction, puis sélectionnez le bouton + à côté de Fonctions.

  3. Dans la page Azure Functions pour JavaScript - Bien démarrer, sélectionnez Dans le portail, puis Continuer.

  4. Sélectionnez WebHook + API, puis Créer.

    Le portail crée une fonction JavaScript qui ressemble à ceci :

    module.exports = async function (context, req) {
        context.log('JavaScript HTTP trigger function processed a request.');
    
        if (req.query.name || (req.body && req.body.name)) {
            context.res = {
                // status: 200, /* Defaults to 200 */
                body: "Hello " + (req.query.name || req.body.name)
            };
        }
        else {
            context.res = {
                status: 400,
                body: "Please pass a name on the query string or in the request body"
            };
        }
    };
    

    Il s’agit de la fonction JavaScript par défaut qui est générée par le portail. Elle lit un nom passé comme une chaîne de requête ou faisant partie du corps de la requête, et répond par le message « Hello ».

  5. Sur le côté droit de l’écran, cliquez sur Afficher les fichiers, puis cliquez sur function.json. Ce fichier contient les informations de liaison de la fonction :

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

    La liaison spécifie 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 votre nouvelle fonction, sélectionnez </> Obtenir l’URL de fonction en haut de la page.

  2. Dans la boîte de message Obtenir l’URL de la fonction, sélectionnez par défaut (touche de fonction), puis Copier. Votre URL doit ressembler à ceci :

    https://<your-functionapp-name>.azurewebsites.net/api/HttpTrigger1?code=aUjXIpqdJ0ZHPQuB0SzFegxGJu0nAXmsQBnmkCpJ6RYxleRaoxJ8cQ==
    
  3. Collez votre URL de fonction dans la barre d’adresse de votre navigateur. Ajoutez la valeur de chaîne de requête &name=<yourname> à la fin de cette URL, puis appuyez sur la touche Entrée de votre clavier pour exécuter la requête. La réponse retournée par la fonction doit s’afficher dans le navigateur. Elle doit ressembler à ceci :

    Hello John Smith
    

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