Activer l’analyse des API dans votre centre des API – autogéré
Cet article explique comment activer l’analyse des API dans le Centre des API Azure en configurant manuellement un moteur de linting et des déclencheurs. L’analyse des API offre des fonctionnalités de linting pour analyser les définitions d’API dans le centre des API de votre organisation. Le linting garantit que vos définitions d’API respectent les règles de style organisationnel, en générant des rapports individuels et récapitulatifs. Utilisez l’analyse des API pour identifier et corriger les erreurs et incohérences courantes dans vos définitions d’API.
Remarque
En préversion, le Centre des API Azure peut également configurer automatiquement un moteur de linting et toutes les dépendances et déclencheurs requis. Plus d’informations
Présentation du scénario
Dans ce scénario, vous analysez les définitions d’API dans votre centre d’API à l’aide du moteur de linting open source Spectral. Une application Azure Functions exécute le moteur de linting en réponse aux événements dans votre centre d’API. Spectral vérifie que les API définies dans un document de spécification JSON ou YAML sont conformes aux règles d’un guide de style d’API personnalisable. Un rapport d’analyse est généré. Vous pouvez l’afficher dans votre centre des API.
Le diagramme suivant montre les étapes permettant d’activer le linting et l’analyse dans votre centre d’API.
Déployer une application Azure Functions qui exécute le moteur de linting Spectral sur une définition d’API.
Configurer un abonnement aux événements dans un centre d’API Azure pour déclencher l’application de fonction.
Un événement est déclenché en ajoutant ou en remplaçant une définition d’API dans le centre d’API.
Lors de la réception de l’événement, l’application de fonction appelle le moteur de linting Spectral.
Le moteur de linting vérifie que les API définies dans la définition sont conformes au guide de style d’API de l’organisation. Il génère ensuite un rapport.
Consulter le rapport d’analyse dans le centre d’API.
Options de déploiement du moteur de linting et de l’abonnement aux événements
Cet article fournit deux options pour déployer le moteur de linting et l’abonnement aux événements dans votre centre d’API :
Déploiement automatisé : utilisez Azure Developer CLI (
azd
) pour le déploiement en une étape de l’infrastructure de linting. Cette option est recommandée pour un processus de déploiement simplifié.Déploiement manuel : suivez les instructions pas à pas pour déployer l’application Azure Functions et configurer l’abonnement aux événements. Cette option est recommandée si vous préférez déployer et gérer les ressources manuellement.
Limites
- Le linting prend actuellement en charge uniquement des fichiers de spécification JSON ou YAML, tels que les documents de spécification OpenAPI ou AsyncAPI.
- Par défaut, le moteur de linting utilise le jeu de règles
spectral:oas
intégré. Pour étendre le jeu de règles ou créer des guides de style d’API personnalisés, consultez le référentiel GitHub pour Spectral. - L’application de fonction Azure qui appelle le linting est facturée séparément. C’est vous qui la gérez et l’entretenez.
Prérequis
Un Centre d’API dans votre abonnement Azure. Si vous n’en avez pas encore créé, consultez Démarrage rapide : Créer votre centre d’API.
Le fournisseur de ressources Event Grid doit être inscrit dans votre abonnement. Si vous devez inscrire le fournisseur de ressources Event Grid, consultez l’article S’abonner aux événements publiés par un partenaire avec Azure Event Grid.
Pour Azure CLI :
Utilisez l’environnement Bash dans Azure Cloud Shell. Pour plus d’informations, consultez Démarrage rapide pour Bash dans Azure Cloud Shell.
Si vous préférez exécuter les commandes de référence de l’interface de ligne de commande localement, installez l’interface Azure CLI. Si vous exécutez sur Windows ou macOS, envisagez d’exécuter Azure CLI dans un conteneur Docker. Pour plus d’informations, consultez Guide pratique pour exécuter Azure CLI dans un conteneur Docker.
Si vous utilisez une installation locale, connectez-vous à Azure CLI à l’aide de la commande az login. Pour finir le processus d’authentification, suivez les étapes affichées dans votre terminal. Pour connaître les autres options de connexion, consultez Se connecter avec Azure CLI.
Lorsque vous y êtes invité, installez l’extension Azure CLI lors de la première utilisation. Pour plus d’informations sur les extensions, consultez Utiliser des extensions avec Azure CLI.
Exécutez az version pour rechercher la version et les bibliothèques dépendantes installées. Pour effectuer une mise à niveau vers la dernière version, exécutez az upgrade.
Remarque
Les commandes
az apic
nécessitent l’extension Azure CLIapic-extension
. Si vous n’avez pas utilisé de commandesaz apic
, l’extension peut être installée dynamiquement lorsque vous exécutez votre première commandeaz apic
, ou vous pouvez l’installer manuellement. Apprenez-en davantage sur les extensions Azure CLI.Pour connaître les dernières modifications et mises à jour relatives à
apic-extension
, consultez les notes de publication.Remarque
Les exemples de commandes Azure CLI de cet article peuvent s’exécuter dans PowerShell ou dans un interpréteur de commandes bash. Si c’est nécessaire en raison d’une syntaxe de variables différente, des exemples distincts de commandes sont fournis pour les deux interpréteurs de commandes.
Déploiement azd
de l’application Azure Functions et de l’abonnement aux événements
Cette section fournit des étapes automatisées utilisant Azure Developer CLI pour configurer l’application Azure Functions et l’abonnement aux événements qui activent le linting et l’analyse dans votre centre d’API. Vous pouvez également configurer les ressources manuellement.
Autres prérequis pour cette option
Exécuter l’exemple en utilisant azd
Clonez le référentiel GitHub et ouvrez-le dans Visual Studio Code.
Basculez sur le dossier
APICenter-Analyzer
dans le dépôt.Dans le dossier
resources/rulesets
se trouve un fichieroas.yaml
. Ce fichier représente votre guide de style d’API actuel. Il peut être modifié en fonction des besoins et des exigences de votre organisation.Authentifiez-vous dans Azure Developer CLI et Azure CLI avec les commandes suivantes :
azd auth login az login
Exécutez la commande suivante pour déployer l’infrastructure de linting sur votre abonnement Azure.
azd up
Suivez les invites pour fournir les informations et les paramètres de déploiement nécessaires, comme le nom de l’environnement et le nom du centre d’API. Pour plus d’informations, consultez Exécution de l’exemple avec Azure Developer CLI (azd).
Remarque
Le déploiement peut prendre quelques minutes.
Une fois le déploiement effectué, accédez à votre centre d’API dans le portail Azure. Dans le menu de gauche, sélectionnez Événements>Abonnements aux événements pour voir l’abonnement aux événements qui a été créé.
Vous pouvez maintenant charger un fichier de définition d’API dans votre centre d’API pour déclencher l’abonnement aux événements et exécuter le moteur de linting.
Étapes manuelles pour configurer l’application Azure Functions et l’abonnement aux événements
Cette section fournit les étapes de déploiement manuelles pour configurer l’application Azure Functions et l’abonnement aux événements qui activent le linting et l’analyse dans votre centre d’API. Vous pouvez également utiliser Azure Developer CLI pour le déploiement automatisé.
Autres prérequis pour cette option
- Visual Studio Code avec l’extension Azure Functions v1.10.4 ou ultérieure.
Étape 1. Déployer sur votre application Azure Functions
Pour déployer l’application Azure Functions qui exécute la fonction de linting sur les définitions d’API :
Clonez le référentiel GitHub et ouvrez-le dans Visual Studio Code.
Dans le dossier
resources/rulesets
se trouve un fichieroas.yaml
. Ce fichier représente votre guide de style d’API actuel. Il peut être modifié en fonction des besoins et des exigences de votre organisation.Si vous le souhaitez, exécutez localement l’application de fonction pour la tester. Pour plus d’informations sur l’utilisation de l’API, consultez le fichier LISEZ-MOI dans le référentiel.
Déployez l’application de fonction dans Azure. Pour voir les étapes, consultez Démarrage rapide : Créer une fonction dans Azure avec TypeScript à l’aide de Visual Studio Code.
Remarque
Il se peut que le déploiement de l’application de fonction prenne quelques minutes.
Connectez-vous au Portail Azure et accédez à l’application de fonction.
Sur la page Présentation, vérifiez les détails suivants :
- Confirmez que l’État de l’application de fonction est En cours d’exécution.
- Sous Fonctions, confirmez que le l’État de la fonction apicenter-analyzer est Activé.
Étape 2. Configurer votre identité managée dans votre application de fonction
Pour permettre à l’application de fonction d’accéder au centre d’API, configurez une identité managée pour l’application de fonction. Les étapes suivantes montrent comment activer et configurer une identité managée affectée par le système pour l’application de fonction à l’aide du Portail Azure ou d’Azure CLI.
- Dans le Portail Azure, accédez à votre application de fonction et sélectionnez Identité sous la section Paramètres.
- Sous l’onglet Attribué par le système, définissez l’État sur Activé, puis sélectionnez Enregistrer.
Maintenant que l’identité managée est activée, attribuez-lui le rôle Gestionnaire de conformité du Centre API d’Azure pour accéder au Centre API.
- Dans le portail Azure, accédez à votre Centre API et sélectionnez Contrôle d’accès (IAM).
- Sélectionnez + Ajouter > Ajouter une attribution de rôle.
- Sélectionnez Rôles de fonction de travail, puis sélectionnez Gestionnaire de conformité du Centre API d’Azure. Cliquez sur Suivant.
- Dans l’onglet Membres, sous Affecter l’accès à, sélectionnez Identité managée >+ Sélectionner des membres.
- Dans la page Sélectionner des identités managées, recherchez et sélectionnez l’identité managée de l’application de fonction. Cliquez sur Sélectionner puis sur Suivant.
- Vérifiez l'attribution du rôle, puis sélectionnez Vérifier + attribuer.
Étape 3. Configurer l’abonnement aux événements dans votre centre d’API
Maintenant, créez un abonnement aux événements dans votre centre d’API pour déclencher l’application de fonction lorsqu’un fichier de définition d’API est chargé ou mis à jour. Les étapes suivantes montrent comment créer l’abonnement aux événements à l’aide du Portail Azure ou d’Azure CLI.
Dans le portail Azure, accédez à votre Centre API, puis sélectionnez Événements.
Sous l’onglet Démarrage, sélectionnez Fonction Azure.
Dans la page Créer un abonnement aux événements, effectuez les actions suivantes :
Entrez un Nom descriptif pour l’abonnement aux événements et sélectionnez Schéma Event Grid.
Dans Détails de sujet, entrez le Nom de sujet système de votre choix.
Dans Types d’événements, sélectionnez les événements suivants :
- Définition d’API ajoutée
- Définition d’API mise à jour
Dans Détails des points de terminaison, sélectionnez Fonction Azure > Configurer un point de terminaison.
Dans la page Sélectionner la fonction Azure, sélectionnez l’application de fonction et la fonction apicenter-linter que vous avez configurée. Cliquez sur Confirmer la sélection.
Sélectionnez Créer.
Sélectionnez l’onglet Abonnements aux événements et sélectionnez Actualiser. Confirmez que l’État d'approvisionnement de l’abonnement aux événements est à l’état de Réussite.
Remarque
Il se peut que l’abonnement à l’événement prenne un peu de temps pour se propager vers l’application de fonction.
Déclencher un événement dans votre centre d’API
Pour tester l’abonnement aux événements, essayez de charger ou de mettre à jour un fichier de définition d’API associé à une version d’API dans votre centre d’API. Par exemple, chargez un document OpenAPI ou AsyncAPI. Une fois l’abonnement à l’événement déclenché, l’application de fonction appelle le moteur de linting d’API pour analyser la définition de l’API.
- Pour des instructions détaillées sur l’ajout d’une API, la version d’API et la définition d’API dans votre centre d’API, consultez Tutoriel : Inscrire des API dans votre centre d’API.
- Pour créer une API en chargeant un fichier de définition d’API à l’aide d’Azure CLI, consultez Inscrire une API à partir d’un fichier de spécification.
Pour confirmer que l’abonnement à l’événement a été déclenché :
Accédez à votre centre d’API et sélectionnez Événements dans le menu de gauche.
Sélectionnez l’onglet Abonnements aux événements, puis sélectionnez l’abonnement aux événements pour votre application de fonction.
Passez en revue les métriques pour vérifier que l’abonnement aux événements a été déclenché et que le linting a bien été appelé.
Remarque
Il se peut que l’affichage des métriques prenne quelques minutes.
Après avoir analysé la définition de l’API, le moteur de linting génère un rapport basé sur le guide de style d’API configuré.
Voir le rapport d’analyse d’API
Vous pouvez voir le rapport d’analyse de votre définition d’API dans le portail Azure. Après l’analyse d’une définition d’API, le rapport liste les erreurs et les informations basées sur le guide de style d’API configuré.
Dans le portail, vous pouvez également voir un récapitulatif des rapports d’analyse pour toutes les définitions d’API de votre centre d’API.
Rapport d’analyse pour une définition d’API
Pour voir le rapport d’analyse d’une définition d’API dans votre centre d’API :
- Dans le portail, accédez à la version de l’API dans votre Centre API où vous avez ajouté ou mis à jour une définition d’API.
- Dans le menu de gauche, sous Détails, sélectionnez Définitions.
- Sélectionnez la définition d’API que vous avez chargée ou mise à jour.
- Sélectionnez l'onglet Analyse.
Le Rapport d’analyse de l’API s’ouvre et affiche la définition, les erreurs, les avertissements et les informations de l’API en fonction du guide de style d’API configuré. La capture d’écran suivante affiche un exemple de rapport d’analyse d’API.
Récapitulatif de l’analyse d’API
Pour voir un récapitulatif des rapports d’analyse pour toutes les définitions d’API de votre centre d’API :
Dans le portail, accédez à votre Centre API.
Dans le menu de gauche, sous Gouvernance, sélectionnez Analyse d’API. Le récapitulatif s’affiche.
Contenu connexe
En savoir plus sur Event Grid :