Importer une application web Azure en tant qu’API

S’APPLIQUE À : tous les niveaux de Gestion des API

Cet article explique comment importer une application web Azure dans Gestion des API Azure et tester l’API importée en utilisant le portail Azure.

Notes

Vous pouvez importer et gérer vos API à l’aide de l’extension Gestion des API pour Visual Studio Code. Suivez le tutoriel sur l’extension Gestion des API pour effectuer l’installation et commencer.

Dans cet article, vous apprendrez comment :

  • Importer une application web hébergée dans App Service
  • Tester l’API dans le portail Azure

Exposer une application web avec Gestion des API

Azure App Service est un service HTTP pour l’hébergement d’applications web, d’API REST et de back-ends mobiles. Les développeurs d’API peuvent utiliser leurs piles technologiques et pipelines préférés pour développer des API et publier leurs back-ends d’API en tant qu’applications web dans un environnement sécurisé et évolutif. Ensuite, utilisez Gestion des API pour exposer les applications web, gérer et protéger les API tout au long de leur cycle de vie et les publier auprès des consommateurs.

Gestion des API est l’environnement recommandé pour exposer une API hébergée par une application web, pour plusieurs raisons :

  • Découpler la gestion et la sécurisation du serveur frontal exposé aux consommateurs d’API à partir de la gestion et de la surveillance de l’application web principale
  • Gérer les API web hébergées en tant qu’applications web dans le même environnement que vos autres API
  • Appliquer des stratégies pour modifier le comportement de l’API, comme la limitation du taux d’appels
  • Diriger les consommateurs d’API vers le portail des développeurs personnalisable de Gestion des API pour découvrir et apprendre à connaître vos API, demander l’accès et les essayer

Pour plus d’informations, consultez En savoir plus sur Gestion des API.

Spécification OpenAPI et opérations génériques

Gestion des API prend en charge l’importation d’applications web hébergées dans App Service qui incluent une spécification OpenAPI (définition Swagger). Toutefois, une spécification OpenAPI n’est pas obligatoire.

  • Si l’application web a une spécification OpenAPI configurée dans une définition d’API, Gestion des API crée des opérations d’API qui correspondent directement à la définition, y compris les chemins d’accès, les paramètres et les types de réponse requis.

    Il est recommandé d’avoir une spécification OpenAPI, car l’API est importée dans Gestion des API avec une grande fidélité, ce qui vous donne la possibilité de valider, gérer, sécuriser et mettre à jour les configurations pour chaque opération séparément.

  • Si aucune spécification OpenAPI n’est fournie, Gestion des API génère des opérations génériques pour les verbes HTTP courants (GET, PUT, etc.). Ajoutez un chemin d’accès ou des paramètres requis à une opération générique pour transmettre une demande d’API à l’API back-end.

    Avec les opérations génériques, vous pouvez toujours tirer parti des mêmes fonctionnalités de Gestion des API, mais les opérations ne sont pas définies au même niveau de détail par défaut. Dans les deux cas, vous pouvez modifier ou ajouter des opérations à l’API importée.

Exemple

Votre application web back-end peut prendre en charge deux opérations GET :

  • https://myappservice.azurewebsites.net/customer/{id}
  • https://myappservice.azurewebsites.net/customers

Vous importez l’application web dans votre service Gestion des API dans un chemin d’accès tel que https://contosoapi.azureapi.net/store. Le tableau suivant répertorie les opérations qui sont importées dans Gestion des API, avec ou sans spécification OpenAPI :

Type Opérations importées Exemples de demandes
Spécification OpenAPI GET /customer/{id}

GET /customers
GET https://contosoapi.azureapi.net/store/customer/1

GET https://contosoapi.azureapi.net/store/customers
Caractère générique GET /* GET https://contosoapi.azureapi.net/store/customer/1

GET https://contosoapi.azureapi.net/store/customers

L’opération générique autorise les mêmes requêtes au service back-end que les opérations dans la spécification OpenAPI. Toutefois, les opérations spécifiées par OpenAPI peuvent être gérées séparément dans Gestion des API.

Prérequis

Accéder à votre instance Gestion des API

  1. Dans le Portail Azure, recherchez et sélectionnez Services API Management.

    Sélectionnez les services Gestion des API

  2. Dans la page Services Gestion des API, sélectionnez votre instance Gestion des API.

    Sélectionnez votre instance Gestion des API

Importer et publier une API back-end

Conseil

Les étapes suivantes permettent de démarrer l’importation en utilisant Gestion des API Azure dans le portail Azure. Vous pouvez également vous connecter à Gestion des API directement depuis votre application web en sélectionnant Gestion des API dans le menu API de l’application.

  1. À partir du portail Azure, accédez à votre service Gestion des API, puis sélectionnez API dans le menu.

  2. Sélectionnez App Service dans la liste.

    Créer à partir d’App Service

  3. Sélectionnez Parcourir pour afficher la liste des instances App Service dans votre abonnement.

  4. Sélectionnez un instance App Service. Si une définition OpenAPI est associée à l’application web sélectionnée, Gestion des API l’extrait et l’importe.

    Si aucune définition OpenAPI n’est trouvée, Gestion des API expose l’API en générant des opérations génériques pour les verbes HTTP courants.

  5. Ajoutez un suffixe d’URL d’API. Le suffixe est un nom qui identifie cette API spécifique dans cette instance Gestion des API. Il doit être unique dans cette instance APIM.

  6. Publiez l’API en l’associant à un produit. Dans ce cas, le produit « Illimité » est utilisé. Si vous souhaitez que l’API soit publiée et mise à la disposition des développeurs, ajoutez-la à un produit. Vous pouvez effectuer cette opération durant la création de l’API ou ultérieurement.

    Notes

    Les produits sont des associations d’une ou de plusieurs API. Vous pouvez inclure de nombreuses API et les proposer aux développeurs dans le portail des développeurs. Les développeurs doivent s’abonner à un produit pour obtenir l’accès à l’API. Quand ils s’abonnent à un produit, ils obtiennent une clé d’abonnement qui est valable pour toutes les API de ce produit. Si vous avez créé l’instance APIM, vous êtes abonné à chaque produit par défaut, car vous êtes déjà administrateur.

    Par défaut, chaque instance Gestion des API est fournie avec deux exemples de produits :

    • Starter
    • Illimité
  7. Entrez d’autres paramètres d’API. Vous pouvez définir les valeurs lors de la création, ou les configurer ultérieurement en accédant à l’onglet Paramètres. Les paramètres sont expliqués dans le tutoriel Importer et publier votre première API.

  8. Sélectionnez Create (Créer). Créer une API à partir d’App Service

Tester la nouvelle API dans le Portail Azure

Les opérations peuvent être directement appelées depuis le portail Azure, qui permet d’afficher et de tester les opérations d’une API. Vous pouvez également tester l’API dans le portail des développeurs ou en utilisant vos propres outils clients REST.

  1. Sélectionnez l’API que vous avez créée à l’étape précédente.

  2. Sélectionnez l’onglet Test.

  3. Sélectionnez une opération.

    La page affiche des champs pour les paramètres de requête et des champs pour les en-têtes. L’un des en-têtes est « Ocp-Apim-Subscription-Key », pour la clé d’abonnement du produit qui est associé à cette API. Si vous avez créé l’instance Gestion des API, la clé est renseignée automatiquement, car vous êtes déjà administrateur.

  4. Appuyez sur Envoyer.

    Lorsque le test est réussi, le back-end répond avec 200 OK et des données.

Tester une opération générique dans le portail

Lorsque des opérations génériques sont générées, elles peuvent ne pas correspondre directement à l’API back-end. Par exemple, une opération GET générique importée dans Gestion des API utilise le chemin d’accès / par défaut. Toutefois, votre API back-end peut prendre en charge une opération GET à l’emplacement suivant :

/api/TodoItems

Vous pouvez tester le chemin d’accès /api/TodoItems comme suit.

  1. Sélectionnez l’API que vous avez créée, puis sélectionnez l’opération.

  2. Sélectionnez l’onglet Test.

  3. Dans Paramètres du modèle, mettez à jour la valeur à côté du nom générique (*). Par exemple, entrez api/TodoItems. Cette valeur est ajoutée au chemin d’accès / pour l’opération générique.

    Tester une opération générique

  4. Sélectionnez Envoyer.

Ajouter d’autres API

Vous pouvez composer une API à partir de plusieurs API exposées par différents services, notamment :

  • Une spécification OpenAPI
  • Une API SOAP
  • Une API GraphQL
  • Une application web hébergée dans Azure App Service
  • Application Azure Function
  • Azure Logic Apps
  • Azure Service Fabric

Pour ajouter une autre API à votre API existante, effectuez les étapes suivantes.

Notes

Une fois que vous avez importé une autre API, les opérations sont ajoutées à votre API actuelle.

  1. Accédez à votre instance Gestion des API Azure dans le portail Azure.

    Accéder à l’instance Gestion des API Azure

  2. Sélectionnez API dans la page Vue d’ensemble ou dans le menu situé à gauche.

    Sélectionner des API

  3. Cliquez sur ... à côté de l’API à laquelle vous souhaitez ajouter une autre API.

  4. Sélectionnez Importer dans le menu déroulant.

    Sélectionner Importer

  5. Sélectionnez un service à partir duquel importer une API.

    Sélectionner un service

Étapes suivantes

Transform and protect your API (Transformer et protéger votre API)