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.
Accédez au portail Azure.
Dans la barre de recherche de la rubrique, tapez
Event Grid Namespaces
, puis sélectionnezEvent Grid Namespaces
dans les résultats.Dans la page Espaces de noms Event Grid, sélectionnez + Créer dans la barre de commandes.
Dans la page Créer un espace de noms, suivez ces étapes :
- Sélectionnez l’abonnement Azure dans lequel vous souhaitez créer l’espace de noms.
- Créer un groupe de ressources en sélectionnant Créer ou sélectionnez un groupe de ressources existant.
- Entrez un nom pour l’espace de noms.
- Sélectionnez la localisation où vous voulez créer le groupe de ressources.
- Sélectionnez ensuite Vérifier + créer.
- Dans la page Vérifier + créer, sélectionnez Créer.
Dans la page Déploiement, sélectionnez Accéder à la ressource une fois le déploiement réussi.
Obtenir la clé d’accès
- Dans la page Espace de noms Event Grid, sélectionnez Clé d’accès dans le menu de gauche.
- Sélectionnez le bouton de copie à côté de la clé d’accès.
- 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.
- Sélectionnez Rubriques dans le menu de gauche.
- Dans la page Rubriques, sélectionnez + Rubrique dans la barre de commandes.
- Dans la page Créer une rubrique, procédez comme suit :
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.
Sélectionnez Déployer sur Azure pour déployer la solution sur votre abonnement.
Dans la page Déploiement personnalisé, procédez comme suit :
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.
Pour Nom du site, entrez un nom pour l’application web.
Pour Nom du plan d’hébergement, entrez un nom pour le plan App Service à utiliser pour l’hébergement de l’application web.
Sélectionnez Revoir + créer.
Dans la page Vérifier + créer, sélectionnez Créer.
Le déploiement prend quelques minutes. Dans la page Déploiement, sélectionnez Accéder à la ressource.
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.
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
.Vérifiez que vous voyez le site, mais qu’aucun événement n’est encore publié.
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.
- 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.
- Dans la page Espace de noms Event Grid, sélectionnez Rubriques dans le menu de gauche.
- Dans la page Rubriques, sélectionnez la rubrique que vous avez créée à l’étape précédente.
- Sélectionnez + Abonnement dans la barre de commandes.
- Dans la page Créer un abonnement aux événements, effectuez les étapes suivantes :
Sous l’onglet De base, entrez un nom pour l’abonnement aux événements.
Sélectionnez Push pour le mode de livraison des événements.
Pour le type de point de terminaison, sélectionnez Web Hook.
Sélectionnez Configurer un point de terminaison.
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.Dans la page Créer un abonnement, sélectionnez Créer.
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
Lancez Cloud Shell dans le portail Azure. Basculez vers Bash.
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
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
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
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
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
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.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.
Contenu connexe
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.