Utiliser Azure Event Grid pour acheminer des événements de stockage d’objet blob vers le point de terminaison web (portail Azure)

Event Grid est un service entièrement géré qui vous permet de facilement gérer des événements dans de nombreux services et applications Azure. Il simplifie la création d’applications pilotées par les événements et serverless. Pour une présentation du service, consultez Vue d’ensemble d’Event Grid.

Dans cet article, vous utilisez le portail Azure pour effectuer les tâches suivantes :

  1. Créer un compte de stockage d’objets blob.
  2. S’abonner aux événements pour ce stockage d’objets blob.
  3. Déclencher un événement en chargeant un fichier vers le stockage d’objets blob.
  4. Afficher le résultat dans une application web de gestionnaire. En règle générale, vous envoyez des événements à un point de terminaison qui traite les données d’événement et entreprend des actions. En termes simples, vous envoyez des événements à une application web qui collecte et affiche les messages.

Si vous n’avez pas d’abonnement Azure, créez un compte gratuit Azure avant de commencer.

Une fois que vous avez fini, vous voyez que les données d’événement ont été envoyées à l’application web.

Screenshot that shows the sample Azure Event Grid Viewer app with an event.

Créez un compte de stockage.

  1. Connectez-vous au portail Azure.

  2. Pour créer un stockage d’objets blob, sélectionnez Créer une ressource.

  3. Dans Rechercher, entrez Compte de stockage, puis sélectionnez Compte de stockage dans la liste des résultats.

    Screenshot showing the search for Storage account on the Create a resource page.

  4. Dans la page Compte de stockage, sélectionnez Créer pour commencer à créer le compte de stockage. Pour s’abonner à des événements, créez un compte de stockage v2 à usage général ou un compte de stockage d’objets blob.

  5. Dans la page Créer un compte de stockage, procédez comme suit :

    1. Sélectionnez votre abonnement Azure.

    2. Dans le champ Groupe de ressources, créez un groupe de ressources Azure ou sélectionnez un groupe existant.

    3. Entrez le nom de votre compte de stockage.

    4. Sélectionnez la Région dans laquelle vous souhaitez créer le compte de stockage.

    5. Pour Redondance, sélectionnez Stockage localement redondant (LRS) dans la liste déroulante.

    6. Sélectionnez Vérifier en bas de la page.

      Screenshot showing the Create a storage account page.

    7. Dans la page Vérifier, passez en revue les paramètres, puis sélectionnez Créer.

      Notes

      Seuls les comptes de stockage de type StorageV2 (v2 universel) et BlobStorage prennent en charge l’intégration d’événements. Le type Stockage (v1 universel) ne prend pas en charge l’intégration à Event Grid.

  6. Le déploiement prend quelques minutes. Dans la page Déploiement, sélectionnez Accéder à la ressource.

    Screenshot showing the deployment succeeded page with a link to go to the resource.

  7. Dans la page Compte de stockage, sélectionnez Événements dans le menu de gauche.

    Screenshot showing the Events page for an Azure storage account.

  8. Conservez cette page dans le navigateur web ouverte.

Créer un point de terminaison de message

Avant de nous abonner aux événements du stockage d’objets blob, nous allons créer le point de terminaison pour le message de l’événement. En règle générale, le point de terminaison entreprend des actions en fonction des données d’événement. Pour simplifier ce guide de démarrage rapide, vous allez déployer une application web prédéfinie qui affiche les messages d’événement. La solution déployée comprend un plan App Service, une offre App Service Web Apps et du code source en provenance de GitHub.

  1. Sélectionnez Déployer sur Azure pour déployer la solution sur votre abonnement.

    Button to deploy the Resource Manager template to Azure.

  2. Dans la page Déploiement personnalisé, procédez comme suit :

    1. Pour Groupe de ressources, sélectionnez le groupe de ressources que vous avez créé lors de la création du compte de stockage. Il sera plus facile pour vous de nettoyer une fois que vous aurez terminé le didacticiel en supprimant le groupe de ressources.

    2. Pour Nom du site, entrez un nom pour l’application web.

    3. Pour Nom du plan d’hébergement, entrez un nom pour le plan App Service à utiliser pour l’hébergement de l’application web.

    4. Sélectionnez Revoir + créer.

      Screenshot showing the Custom deployment page.

  3. Dans la page Vérifier + créer, sélectionnez Créer.

  4. Le déploiement prend quelques minutes. Dans la page Déploiement, sélectionnez Accéder à la ressource.

    Screenshot showing the deployment succeeded page with a link to go to the resource group.

  5. Dans la page Groupe de ressources, dans la liste des ressources, sélectionnez l’application web que vous avez créée. Vous pouvez également voir le plan App Service et le compte de stockage dans cette liste.

    Screenshot that shows the selection of web app in the resource group.

  6. Dans la page App Service de votre application web, sélectionnez l’URL pour accéder au site web. L’URL doit être au format suivant : https://<your-site-name>.azurewebsites.net.

    Screenshot that shows the selection of link to navigate to web app.

  7. Confirmez que vous voyez le site, mais qu’aucun événement n’a encore été posté sur celui-ci.

    View new site.

    Important

    Gardez la fenêtre Azure Event Grid Viewer ouverte pour pouvoir voir les événements au fur et à mesure qu’ils sont publiés.

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 showing the registration of Microsoft.EventGrid provider with the Azure subscription.

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

    Image showing the successful registration of Microsoft.EventGrid provider with the Azure subscription.

S’abonner à un stockage d’objets blob

Vous vous abonnez à une rubrique pour communiquer à Event Grid les événements qui vous intéressent, et où les envoyer.

  1. Si vous avez fermé la page Compte de stockage, accédez à votre compte de stockage Azure que vous avez créé précédemment. Dans le menu de gauche, sélectionnez Toutes les ressources et votre compte de stockage.

  2. Dans la page Compte de stockage, sélectionnez Événements dans le menu de gauche.

  3. Sélectionnez Autres options, puis Webhook. Vous envoyez des événements à votre application de visionneuse, avec un webhook comme point de terminaison.

    Screenshot showing the selection of Web Hook on the Events page.

  4. Dans la page Créer un abonnement aux événements, effectuez les étapes suivantes :

    1. Entrez un nom pour l’abonnement aux événements.

    2. Entrez un nom pour la rubrique système. Pour en savoir plus sur les rubriques système, consultez Vue d’ensemble des rubriques système.

      Screenshot showing the Create Event Subscription page with a name for the system topic.

    3. Sélectionnez Webhook pour Type de point de terminaison.

      Screenshot showing the Create Event Subscription page with Web Hook selected as an endpoint.

  5. Pour Point de terminaison, choisissez Sélectionner un point de terminaison, entrez l’URL de votre application web et ajoutez api/updates à l’URL de la page d’accueil (par exemple, https://spegridsite.azurewebsites.net/api/updates), puis sélectionnez Confirmer la sélection.

    Screenshot showing the Select Web Hook page.

  6. À présent, dans la page Créer un abonnement aux événements, sélectionnez Créer pour créer l’abonnement aux événements.

    Screenshot showing the Create Event Subscription page with all fields selected.

  7. Affichez à nouveau votre application web, et notez qu’un événement de validation d’abonnement lui a été envoyé. Sélectionnez l’icône en forme d’œil pour développer les données d’événements. Event Grid envoie l’événement de validation pour que le point de terminaison puisse vérifier qu’il souhaite recevoir des données d’événement. L’application web inclut du code pour valider l’abonnement.

    Screenshot showing the Event Grid Viewer with the subscription validation event.

Nous allons maintenant déclencher un événement pour voir comment Event Grid distribue le message à votre point de terminaison.

Envoyer un événement à votre point de terminaison

Pour déclencher un événement pour le stockage d’objets blob, chargez un fichier. Celui-ci n’a pas besoin d’un contenu spécifique.

  1. Dans le portail Azure, accédez à votre compte de stockage d’objets blob, puis sélectionnez Conteneurs dans le menu de gauche.

  2. Sélectionnez + Conteneur. Donnez un nom à votre conteneur et utilisez n’importe quel niveau d’accès, puis sélectionnez Créer.

    Screenshot showing the New container page.

  3. Sélectionnez votre nouveau conteneur.

    Screenshot showing the selection of the container.

  4. Pour charger un fichier, sélectionnez Charger. Dans la page Charger l’objet blob, recherchez et sélectionnez un fichier à charger à des fins de test, puis sélectionnez Charger dans cette page.

    Screenshot showing Upload blob page.

  5. Accédez à votre fichier de test et chargez-le.

  6. Vous avez déclenché l’événement, et Event Grid a envoyé le message au point de terminaison configuré lors de l’abonnement. Le message au format JSON contient un tableau répertoriant un ou plusieurs événements. Dans l’exemple suivant, le message JSON contient un tableau avec un événement. Quand vous examinez votre application web, vous remarquerez qu’un événement créé par un objet blob a été reçu.

    Screenshot showing the Event Grid Viewer page with the Blob Created event.

Nettoyer les ressources

Si vous envisagez de continuer à utiliser cet événement, ne supprimez pas les ressources créées dans cet article. Dans le cas contraire, supprimez les ressources créées avec cet article.

Sélectionnez le groupe de ressources, puis Supprimer le groupe de ressources.

Étapes suivantes

Maintenant que vous savez créer des rubriques et des abonnements d’événements personnalisés, vous pouvez en apprendre davantage sur Event Grid et ce qu’il peut vous offrir :