Exercice : créer une nouvelle API dans Gestion des API à partir d'une application de fonction

Effectué

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 :

  1. 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
    
  2. 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 et ProductDetails. 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.

    Diagram illustrating the results of the setup.sh script and how the functions relate to the overall application's design.

Tester la fonction ProductDetails

Maintenant, testons la fonction ProductDetails pour voir comment elle se comporte avant de l’ajouter dans Gestion des API.

  1. Connectez-vous au portail Azure en utilisant le même compte que celui avec lequel vous avez activé le bac à sable.

  2. Dans le menu du portail Azure ou dans la page Accueil, sélectionnez Toutes les ressources. Le volet Toutes les ressources s’affiche.

  3. 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é.

    Screenshot of menu selections to open ProductDetails function.

  4. Dans la liste des fonctions de votre application de fonction, sélectionnez ProductDetails. Le volet de la fonction ProductDetails s’affiche.

  5. 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.

    Screenshot of the ProductDetails Code and Test pane, with Test/Run selected in the command bar.

  6. 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.

  7. Sous l’onglet Entrée, dans la liste déroulante du champ Méthode HTTP, sélectionnez GET.

  8. Sous Requête, sélectionnez Ajouter un paramètre

  9. Dans le champ Nom, entrez id, puis dans le champ Valeur, entrez 3 et sélectionnez Exécuter.

    Screenshot of the input pane for Test + Run, with the input parameter for the HTTP GET method highlighted.

  10. 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.

    Screenshot of the output of a pane for Test + Run with response results of running the GET method.

    Si vous le souhaitez, vous pouvez également tester la fonction en entrant les valeurs d’ID 1 et 2.

  11. Sélectionnez Fermer pour fermer les onglets Entrée et Sortie de Code + test.

  12. 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.

  1. Dans le menu de ressources, sélectionnez Toutes les ressources. Le volet Toutes les ressources s’affiche.

  2. Triez la liste des ressources par type. Notez que vous avez une application OrderFunction et une application ProductFunction.

  3. Sélectionnez l’application de fonction ProductFunction.

  4. 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.

    Screenshot showing menu selection to open the API Management app service.

  5. Sous le champ Gestion des API, sélectionnez Créer nouveau. Le volet Installer la passerelle Gestion des API s’affiche.

    Screenshot showing settings for an API Management service.

  6. 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 %)
  7. Sélectionnez Suivant : Monitoring et désactivez l’option Application Insights.

  8. 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.

  9. Une fois l’instance Gestion des API déployée, sélectionnez Lier l’API.

    Screenshot of API Management highlighting the Link API button.

    Le volet Importer Azure Functions du service Gestion des API s’affiche avec la fonction ProductDetails mise en évidence.

    Screenshot showing the Import Azure Functions API Management service pane.

  10. Choisissez Sélectionner pour continuer. La boîte de dialogue Créer à partir de l’application de fonction s’affiche.

    Screenshot showing the Create from Function app dialog box.

  11. 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.

  1. 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.

  2. Sélectionnez GET ProductDetails. Le volet de la console ProductDetails s’affiche.

  3. Sous Paramètres de la requête, sélectionnez Ajouter un paramètre.

    Screenshot showing ProductDetails Console with query parameter values highlighted for the GET HTTP request.

  4. 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.

    Screenshot showing the **Http request** and **HTTP response** message.