Exercice : créer une nouvelle API dans Gestion des API à partir d'une application de fonction
Pour présenter les fonctions Azure aux utilisateurs comme faisant partie d’une seule API, vous pouvez les ajouter à Gestion des API Azure.
Dans votre magasin en ligne, vos développeurs ont créé plusieurs fonctions Azure Functions en tant que microservices. Chaque fonction implémente une petite partie des fonctionnalités du magasin. Vous voulez regrouper ces fonctions dans une seule API.
Dans cet exercice, vous créez une instance Gestion des API et y ajoutez une fonction Détails du produit.
Créer des fonctions
Dans les étapes suivantes, vous ajoutez une application de fonction Azure à Gestion des API Azure. Par la suite, vous ajoutez une deuxième application de fonction à la même instance Gestion des API pour créer une seule API serverless à partir de plusieurs fonctions. Commençons par utiliser un script pour créer les fonctions :
Pour cloner le projet de fonctions, exécutez la commande suivante dans Azure Cloud Shell à droite.
git clone https://github.com/MicrosoftDocs/mslearn-apim-and-functions.git ~/OnlineStoreFuncs
Exécutez les commandes suivantes dans Cloud Shell pour configurer les ressources Azure dont nous avons besoin pour cet exercice.
cd ~/OnlineStoreFuncs bash setup.sh
Le script
setup.sh
crée les deux applications de fonctions dans le groupe de ressources du bac à sable que nous avons activé pour ce module. Comme le montre le graphique suivant, chaque application héberge une seule fonction -OrderDetails
etProductDetails
. Le script configure également un compte de stockage pour les fonctions. Les deux fonctions ont des URL dans le domaine azurewebsites.net. Les noms de fonctions incluent des nombres aléatoires à des fins d'unicité. L’exécution du script prend quelques minutes.
Tester la fonction ProductDetails
Maintenant, testons la fonction ProductDetails pour voir comment elle se comporte avant de l’ajouter dans Gestion des API.
Connectez-vous au portail Azure en utilisant le même compte que celui avec lequel vous avez activé le bac à sable.
Dans le menu du portail Azure ou dans la page Accueil, sélectionnez Toutes les ressources. Le volet Toutes les ressources s’affiche.
Sélectionnez l’application de fonction dont le nom commence par ProductFunction. Le volet Application de fonction s’affiche avec l’onglet Vue d’ensemble sélectionné.
Dans la liste des fonctions de votre application de fonction, sélectionnez ProductDetails. Le volet de la fonction ProductDetails s’affiche.
Dans le menu Détails du produit, sous Développeur, sélectionnez Code + test. Le volet Code + test de la fonction ProductDetails s’affiche en montrant le contenu du fichier
function.json
.Dans la barre de commandes, sélectionnez Test/Exécution. Le volet Entrée/Sortie s’affiche pour permettre le test de votre requête HTTP.
Sous l’onglet Entrée, dans la liste déroulante du champ Méthode HTTP, sélectionnez GET.
Sous Requête, sélectionnez Ajouter un paramètre
Dans le champ Nom, entrez id, puis dans le champ Valeur, entrez 3 et sélectionnez Exécuter.
Un volet de journal s’affiche pour permettre la connexion de la requête. L’onglet Sortie affiche le code de réponse HTTP (200 OK) ainsi que le contenu de l’élément 3 dans la base de données.
Si vous le souhaitez, vous pouvez également tester la fonction en entrant les valeurs d’ID 1 et 2.
Sélectionnez Fermer pour fermer les onglets Entrée et Sortie de Code + test.
Dans la barre de commandes du volet Code + test de ProductDetails, sélectionnez Obtenir l’URL de la fonction. Notez que le sous-domaine de l’URL est le nom de votre application de fonction, suivi du domaine azurewebsites.net.
Notes
Vous pouvez utiliser cette URL pour tester la fonction dans votre navigateur. L’URL nécessite une entrée. Ajoutez la chaîne de requête &id=1
pour demander des détails sur le premier élément de votre collection de produits.
Exposer l’application de fonction en tant qu'API en utilisant Gestion des API Azure
Une fois l’application de fonction déployée et testée, exportons-la en tant qu’API à l’aide du service Gestion des API Azure pour pouvoir l’appeler à partir d’autres applications et services.
Dans le menu de ressources, sélectionnez Toutes les ressources. Le volet Toutes les ressources s’affiche.
Triez la liste des ressources par type. Notez que vous avez une application OrderFunction et une application ProductFunction.
Sélectionnez l’application de fonction ProductFunction.
Dans le menu Application de fonction, faites défiler l’affichage jusqu’à la catégorie API, puis sélectionnez Gestion des API. Le volet Gestion des API de l’application de fonction ProductFunction s’affiche.
Sous le champ Gestion des API, sélectionnez Créer nouveau. Le volet Installer la passerelle Gestion des API s’affiche.
Entrez les valeurs suivantes pour chaque paramètre.
Paramètre Valeur Abonnement Abonnement Concierge Groupe de ressources [nom du groupe de ressources de bac à sable (sandbox)] Région Choisissez une localisation qui prend en charge le plan de consommation : (USA) USA Ouest, USA Centre Nord, Europe Ouest, Europe Nord, Asie Sud-Est, Australie Est Nom de la ressource OnlineStore Nom de l’organisation OnlineStore E-mail de l’administrateur Entrez une adresse de messagerie. Niveau tarifaire Consommation (SLA à 99,95 %) Sélectionnez Suivant : Monitoring et désactivez l’option Application Insights.
Sélectionnez Vérifier + créer. Une fois la validation effectuée, sélectionnez Créer pour créer une instance Gestion des API liée. Patientez un certain temps jusqu’à la fin de l’exportation.
Une fois l’instance Gestion des API déployée, sélectionnez Lier l’API.
Le volet Importer Azure Functions du service Gestion des API s’affiche avec la fonction ProductDetails mise en évidence.
Choisissez Sélectionner pour continuer. La boîte de dialogue Créer à partir de l’application de fonction s’affiche.
Remplacez la valeur de Suffixe d’URL d’API par products (produits), puis sélectionnez Créer. Azure crée l’API pour la fonction ProductDetails. L’onglet Conception du volet Gestion des API de votre application de fonction s’affiche.
Cet exercice montre que vous pouvez définir complètement votre API à partir du service d’application de fonction Azure.
Tester le point de terminaison des produits OnlineStore
Vous avez maintenant une API ProductDetails
dans l’instance Gestion des API que vous avez créée. Testons cette API avec les outils de gestion d’API dans Azure.
Dans le volet Gestion des API de votre application de fonction, sélectionnez l’onglet Test. Les opérations disponibles pour votre API s’affichent dans la colonne de gauche.
Sélectionnez GET ProductDetails. Le volet de la console ProductDetails s’affiche.
Sous Paramètres de la requête, sélectionnez Ajouter un paramètre.
Dans le champ NOM, entrez id, dans le champ VALEUR, entrez 1, puis sélectionnez Envoyer pour générer une requête GET.
La section Réponse HTTP de la console comporte deux onglets, Message et Trace. L’onglet Message est renseigné avec une réponse HTTP. Les détails du produit s’affichent au format JSON à la fin de la réponse. Faites défiler l’affichage jusqu’à la section Requête HTTP, puis notez le format de la requête. La requête a été envoyée à destination dans le domaine azure-api.net. Cet emplacement est différent du domaine azurewebsites.net où l’application de fonction est hébergée. Vous pouvez tester cette API avec d’autres paramètres de requête, par exemple id=2 ou id=3.