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
Connectez-vous au portail Azure à l’aide de votre compte MS Learn.
Sélectionnez Créer une ressource. Le volet Créer une ressource apparaît.
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.
Sélectionnez Créer. Le volet Créer une application de fonction s’affiche.
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
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. Sélectionnez Revoir + créer.
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
Une fois le déploiement effectué, sélectionnez Accéder à la ressource. Le volet Vue d’ensemble s’affiche pour votre application de fonction.
Sous Fonctions, sélectionnez Créer dans le Portail Microsoft Azure.
Le volet Créer une fonction s’affiche.
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.
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 ».
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
Dans la barre de menus supérieure, sélectionnez Obtenir l’URL de la fonction.
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==
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.
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.