Partager via


Livrer des événements aux webhooks en utilisant des rubriques d’espace de noms – Portail Azure (préversion)

L'article fournit des instructions détaillées pour publier des événements sur Azure Event Grid au format CloudEvents JSON et livrer ces événements à l'aide du modèle de livraison par envoi (push). Pour être plus précis, vous publiez des événements dans une rubrique d’espaces de noms d’Event Grid et envoyez (push) ces événements d’un abonnement aux événements vers la destination d’un gestionnaire de webhooks. Pour plus d'informations sur le modèle de livraison par envoi (push), consultez Vue d'ensemble de la livraison par envoi (push).

Remarque

Les espaces de noms Azure Event Grid prennent actuellement en charge le jeton de signature d’accès partagé (SAP) et l’authentification par clés d’accès.

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

Créer un espace de noms Event Grid

Un espace de noms Event Grid fournit un point de terminaison défini par l’utilisateur sur lequel vous publiez vos événements. L’exemple suivant crée un espace de noms dans votre groupe de ressources à l’aide de Bash dans Azure Cloud Shell. Le nom de l’espace de noms doit être unique, car il fait partie d’une entrée DNS.

  1. Accédez au portail Azure.

  2. Dans la barre de recherche de la rubrique, tapez Event Grid Namespaces, puis sélectionnez Event Grid Namespaces dans les résultats.

    Capture d’écran montrant la barre de recherche dans le Portail Azure.

  3. Dans la page Espaces de noms Event Grid, sélectionnez + Créer dans la barre de commandes. Capture d’écran montrant la page Espaces de noms Event Grid avec le bouton Créer (dans la barre de commandes) sélectionné.

  4. Dans la page Créer un espace de noms, suivez ces étapes :

    1. Sélectionnez l’abonnement Azure dans lequel vous souhaitez créer l’espace de noms.
    2. Créer un groupe de ressources en sélectionnant Créer ou sélectionnez un groupe de ressources existant.
    3. Entrez un nom pour l’espace de noms.
    4. Sélectionnez la localisation où vous voulez créer le groupe de ressources.
    5. Sélectionnez ensuite Vérifier + créer.
      Capture d’écran montrant la page Créer un espace de noms.
    6. Dans la page Vérifier + créer, sélectionnez Créer.
  5. Dans la page Déploiement, sélectionnez Accéder à la ressource une fois le déploiement réussi.

Obtenir la clé d’accès

  1. Dans la page Espace de noms Event Grid, sélectionnez Clé d’accès dans le menu de gauche.
  2. Sélectionnez le bouton de copie à côté de la clé d’accès. Capture d’écran montrant la page Espace de noms Event Grid avec l’onglet Clé d’accès sélectionné.
  3. Enregistrez la clé d’accès à l’emplacement de votre choix. Vous l’utiliserez plus loin dans ce démarrage rapide.

Créer une rubrique dans l’espace de noms

Créez une rubrique qui contient tous les événements publiés sur le point de terminaison de l’espace de noms.

  1. Sélectionnez Rubriques dans le menu de gauche.
  2. Dans la page Rubriques, sélectionnez + Rubrique dans la barre de commandes. Capture d’écran montrant la page Rubriques.
  3. Dans la page Créer une rubrique, procédez comme suit :
    1. Entrez un nom pour la rubrique.
    2. Sélectionnez Créer.
      Capture d’écran montrant la page Créer une rubrique.

Créer un point de terminaison de message

Avant de nous abonner à l’événement, 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.

    Bouton pour déployer le modèle Resource Manager sur 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.

      Capture d’écran montrant la page Déploiement personnalisé.

  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.

    Capture d’écran montrant la page déploiement réussi avec un lien pour accéder au groupe de ressources.

  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.

    Capture d’écran montrant la sélection d’une application web dans le groupe de ressources.

  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.

    Capture d’écran montrant la sélection du lien pour accéder à l’application web.

  7. Vérifiez que vous voyez le site, mais qu’aucun événement n’est encore publié.

    Capture d’écran d’un nouveau 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.

Créer un abonnement d’événement

Créez un abonnement aux événements en définissant son mode de livraison sur Push, qui prend en charge la livraison push.

  1. Basculez vers l’onglet ou la fenêtre qui a l’espace de noms Event Grid ouvert à partir de l’onglet ou de la fenêtre qui a la page Espace de noms Event Hubs ouverte.
  2. Dans la page Espace de noms Event Grid, sélectionnez Rubriques dans le menu de gauche.
  3. Dans la page Rubriques, sélectionnez la rubrique que vous avez créée à l’étape précédente.
  4. Sélectionnez + Abonnement dans la barre de commandes. Capture d’écran montrant la page Rubrique avec le bouton Créer un abonnement sélectionné.
  5. Dans la page Créer un abonnement aux événements, effectuez les étapes suivantes :
    1. Sous l’onglet De base, entrez un nom pour l’abonnement aux événements.

    2. Sélectionnez Push pour le mode de livraison des événements.

    3. Pour le type de point de terminaison, sélectionnez Web Hook.

    4. Sélectionnez Configurer un point de terminaison.

      Capture d’écran de la page Créer un abonnement avec l’option Envoyer sélectionnée pour le mode de livraison et avec WebHook comme point de terminaison.

    5. Dans la page Webhook, spécifiez le point de terminaison (par exemple : https://spegridsite0520.azurewebsites.net/api/updates) comme indiqué dans l’exemple suivant, puis sélectionnez Confirmer la sélection.

      Capture d’écran de la page Webhook avec une valeur pour le point de terminaison de l’abonné.

    6. Dans la page Créer un abonnement, sélectionnez Créer.

      Capture d’écran montrant la page Créer un abonnement avec tous les champs remplis.

Envoyer des événements à la rubrique

Maintenant, envoyez un exemple d'événement au sujet de l'espace de noms en suivant les étapes de cette section.

Déclarer des variables

  1. Lancez Cloud Shell dans le portail Azure. Basculez vers Bash.

    Capture d’écran montrant le Cloud Shell.

  2. Exécutez la commande suivante pour déclarer une variable pour contenir le nom du groupe de ressources. Remplacez RESOUREGROUPNAME par le nom de votre groupe de ressources Azure.

    resource_group=RESOURCEGROUPNAME
    
  3. Dans Cloud Shell, exécutez la commande suivante pour déclarer une variable destinée à contenir le nom de l’espace de noms. Remplacez NAMESPACENAME par l’espace de noms de votre module Event Grid.

    namespace=NAMESPACENAME
    
  4. Exécutez la commande suivante pour déclarer une variable qui contiendra la valeur de clé d’accès que vous avez notée précédemment. Remplacez ACCESSKEY par la valeur de la clé d’accès de votre espace de noms Event Grid.

    key=ACCESSKEY
    
  5. Dans Cloud Shell, exécutez la commande suivante pour déclarer une variable destinée à contenir le nom de l’espace de noms.

    topic=TOPICNAME
    

Publier un événement

  1. Récupérez le nom d’hôte de l’espace de noms. Vous l’utilisez pour composer le point de terminaison HTTP de l’espace de noms auquel les événements sont envoyés. Les opérations suivantes ont d’abord été disponibles dans la version 2023-06-01-preview de l’API. Vous pouvez également obtenir le nom d’hôte depuis la page Vue d’ensemble de votre espace de noms Event Grid dans le portail Azure.

    publish_operation_uri="https://"$(az eventgrid namespace show -g $resource_group -n $namespace --query "topicsConfiguration.hostname" --output tsv)"/topics/"$topic:publish?api-version=2023-06-01-preview
    
  2. Créez un exemple d'événement conforme à CloudEvents :

    event=' { "specversion": "1.0", "id": "'"$RANDOM"'", "type": "com.yourcompany.order.ordercreatedV2", "source" : "/mycontext", "subject": "orders/O-234595", "time": "'`date +%Y-%m-%dT%H:%M:%SZ`'", "datacontenttype" : "application/json", "data":{ "orderId": "O-234595", "url": "https://yourcompany.com/orders/o-234595"}} '
    

    L’élément data est la charge utile de votre événement. N’importe quel fichier JSON bien construit peut être placé dans ce champ. Consultez les spécifications CloudEvents pour plus d’informations sur les propriétés (également appelées attributs de contexte) qui peuvent être activées dans un événement.

  3. Utilisez CURL pour envoyer l'événement au sujet. CURL est un utilitaire qui envoie des requêtes HTTP.

    curl -X POST -H "Content-Type: application/cloudevents+json" -H "Authorization:SharedAccessKey $key" -d "$event" $publish_operation_uri
    

Vérifier que la Visionneuse Azure Event Grid a reçu l’événement

Vérifiez que l’application web Visionneuse Azure Event Grid montre les événements reçus d’Event Grid.

Capture d’écran qui montre la Visionneuse Azure Event Grid avec un exemple d’événement reçu.

Dans ce démarrage rapide, vous avez utilisé un webhook en tant que gestionnaire d’événements. Pour découvrir plus d’informations sur un démarrage rapide qui utilise un Event Hub Azure comme gestionnaire d’événements, consultez Livrer des événements à Azure Event Hubs en utilisant des rubriques d’espaces de noms.