Envoyer les événements de la Gestion des API à Event Grid
S’APPLIQUE À : Consommation | Développeur | De base | Standard | Premium
La Gestion des API s’intègre à Azure Event Grid pour vous permettre d’envoyer des notifications d’événements à d’autres services et de déclencher des processus en aval. Event Grid est un service de routage d’événements complètement managé qui utilise un modèle de publication-abonnement. Event Grid offre une prise en charge intégrée des services Azure comme Azure Functions et Azure Logic Apps, et peut fournir des alertes d’événements à des services non-Azure à l’aide de webhooks.
Par exemple, à l’aide de l’intégration avec Event Grid, vous pouvez créer une application qui met à jour une base de données, crée un compte de facturation et envoie un e-mail de notification chaque fois qu’un utilisateur est ajouté à votre instance Gestion des API.
Dans cet article, vous vous abonnez aux événements Event Grid dans votre instance de Gestion des API, déclenchez des événements et envoyez les événements à un point de terminaison qui traite les données. En termes simples, vous envoyez des événements à un exemple d’application web qui collecte et affiche les messages :
Prérequis
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.
- Si vous ne disposez pas déjà d’un service Gestion des API, suivez le guide de démarrage rapide : Créer une instance Gestion des API Azure
- Activez uneidentité managée affectée par le système dans votre instance de Gestion des API.
- Créez un groupe de ressources si vous n’en avez pas un dans lequel déployer l’exemple de point de terminaison.
Créer un point de terminaison d’événements
Dans cette section, vous utilisez un modèle Resource Manager pour déployer un exemple d’application web prédéfini sur Azure App Service. Plus tard, vous vous abonnez aux événements Event Grid de votre instance Gestion des API et vous spécifiez cette application comme point de terminaison auquel envoyer les événements.
Pour déployer cet exemple d’application, vous pouvez utiliser l’interface Azure CLI, Azure PowerShell ou le portail Azure. L’exemple suivant utilise la commande az deployment group create dans l’interface Azure CLI.
Définissez
RESOURCE_GROUP_NAME
en spécifiant le nom d’un groupe de ressources existant.Définissez
SITE_NAME
en spécifiant un nom unique pour votre application web.Le nom du site doit être unique au sein d’Azure, car il fait partie du nom de domaine complet (FQDN) de l’application web. Dans une section ultérieure, vous accédez au nom de domaine complet de l’application dans un navigateur web pour visualiser les événements.
RESOURCE_GROUP_NAME=<your-resource-group-name>
SITE_NAME=<your-site-name>
az deployment group create \
--resource-group $RESOURCE_GROUP_NAME \
--template-uri "https://raw.githubusercontent.com/Azure-Samples/azure-event-grid-viewer/master/azuredeploy.json" \
--parameters siteName=$SITE_NAME hostingPlanName=$SITE_NAME-plan
Une fois que le déploiement a réussi (il peut prendre quelques minutes), ouvrez un navigateur et accédez à votre application web pour vérifier qu’elle est en cours d’exécution :
https://<your-site-name>.azurewebsites.net
Vous devez voir l’exemple d’application sans aucun message d’événement affiché.
Enregistrer le fournisseur de ressources Event Grid
Si vous n’avez pas déjà utilisé Event Grid auparavant, vous devez inscrire le fournisseur de ressources Event Grid. Si vous avez déjà utilisé Event Grid, passez à la section suivante.
Dans le portail Azure, procédez comme suit :
Sélectionner Abonnements dans le menu de gauche.
Sélectionnez l’abonnement que vous souhaitez utiliser pour Event Grid dans la liste des abonnements.
Dans la page Abonnement, sélectionnez Fournisseurs de ressources dans la section Paramètres du menu de gauche.
Recherchez Microsoft.EventGrid et assurez-vous que l’état est Non inscrit.
Sélectionnez Microsoft.EventGrid dans la liste des fournisseurs.
Sélectionnez Inscrire dans la barre de commandes.
Actualisez pour vous assurer que l’état de Microsoft.EventGrid est modifié en Inscrit.
S’abonner aux événements Gestion des API
Dans Event Grid, vous vous abonnez à un sujet pour lui indiquer les événements qui vous intéressent, et où les envoyer. Ici, vous créez un abonnement aux événements dans votre instance Gestion des API.
Dans le portail Azure, accédez à votre instance APIM.
Sélectionnez Événements > + Abonnement aux événements.
Sous l’onglet Informations de base :
- Entrez un nom descriptif pour l’abonnement à l’événement.
- Dans Types d’événements, sélectionnez un ou plusieurs types d’événements Gestion des API à envoyer à Event Grid. Pour l’exemple de cet article, sélectionnez au moins Microsoft.APIManagement.ProductCreated.
- Dans Détails des points de terminaison, sélectionnez le type d’événement Webhook, cliquez sur Sélectionner un point de terminaison, puis entrez l’URL de votre application web, suivie de
api/updates
. Exemple :https://myapp.azurewebsites.net/api/updates
. - Sélectionnez Confirmer la sélection.
Laissez les paramètres sous les autres onglets à leurs valeurs par défaut, puis sélectionnez Créer.
Déclencher et afficher les événements
Maintenant que l’exemple d’application est opérationnel et que vous êtes abonné à votre instance Gestion des API avec Event Grid, vous êtes prêt à générer des événements.
Par exemple, créez un produit dans votre instance Gestion des API. Si votre abonnement aux événements comprend l’événement Microsoft.APIManagement.ProductCreated, la création du produit déclenche un événement qui est envoyé (push) à votre point de terminaison d’application web.
Accédez à votre application web de visionneuse Event Grid et vous devriez voir l’événement ProductCreated
. Sélectionnez le bouton à côté de cet événement pour voir les détails.
Schéma d’événement Event Grid
Les données d’événement Gestion des API incluent resourceUri
, qui identifie la ressource Gestion des API qui a déclenché l’événement. Pour obtenir des détails sur le schéma de message d’événement Gestion des API, consultez la documentation Event Grid :
Schéma des événements Azure Event Grid pour la Gestion des API
Étapes suivantes
- Apprenez-en davantage sur l’abonnement aux événements.