Partager via


Envoyer les événements de la Gestion des API à Event Grid

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

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 :

Événements Gestion des API dans la visionneuse Event Grid

Prérequis

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 :

  1. Sélectionner Abonnements dans le menu de gauche.

  2. Sélectionnez l’abonnement que vous souhaitez utiliser pour Event Grid dans la liste des abonnements.

  3. Dans la page Abonnement, sélectionnez Fournisseurs de ressources dans la section Paramètres du menu de gauche.

  4. Recherchez Microsoft.EventGrid et assurez-vous que l’état est Non inscrit.

  5. Sélectionnez Microsoft.EventGrid dans la liste des fournisseurs.

  6. Sélectionnez Inscrire dans la barre de commandes.

    Image montrant l’enregistrement du fournisseur Microsoft.EventGrid avec l’abonnement Azure.

  7. Actualisez pour vous assurer que l’état de Microsoft.EventGrid est modifié en Inscrit.

    Image montrant l’enregistrement réussi du fournisseur Microsoft.EventGrid avec l’abonnement Azure.

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.

  1. Dans le portail Azure, accédez à votre instance APIM.

  2. Sélectionnez Événements > + Abonnement aux événements.

  3. 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.
  4. Laissez les paramètres sous les autres onglets à leurs valeurs par défaut, puis sélectionnez Créer.

    Créer un abonnement aux événements dans le portail Azure

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.

Événement créé du produit dans la visionneuse Event Grid

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