Distribuer des événements à Azure Event Hubs en utilisant des rubriques d’espace de noms – Portail Azure
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 utilisez le portail Azure et Curl pour publier des événements sur une rubrique d’espaces de noms dans Event Grid et pousser ces événements d’un abonnement aux événements vers une destination de gestionnaire Event Hubs. Pour plus d'informations sur le modèle de livraison par envoi (push), consultez Vue d'ensemble de la livraison par envoi (push).
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.
Activer l’identité managée de l’espace de noms Event Grid
Pour activer une identité managée affectée par le système dans l’espace de noms Event Grid. Pour remettre des événements à Event Hubs dans votre espace de noms Event Hubs à l’aide d’une identité managée, procédez comme suit :
- Activez l’identité managée affectée par le système ou affectée par l’utilisateur : espaces de noms. Passez à la section suivante pour savoir comment activer l’identité managée en utilisant Azure CLI.
- Ajouter l’identité au rôle Expéditeur de données Azure Event Hubs sur l’espace de noms Event Hubs. Passez à la section suivante pour découvrir comment ajouter l’attribution de rôle.
- Configurez l’abonnement aux événements qui utilise un hub d’événements comme point de terminaison pour utiliser l’identité managée affectée par le système ou par l’utilisateur.
Dans cette section, vous activez une identité managée affectée par le système sur l’espace de noms. Vous effectuez les autres étapes plus loin dans ce guide de démarrage rapide.
Dans la page Espace de noms Event Grid, sélectionnez Identité dans le menu de gauche.
Dans la page Identité, sélectionnez Activé pour État.
Sélectionnez Enregistrer sur la barre de commandes.
Créer une rubrique dans l’espace de noms
Créez une rubrique utilisée pour contenir 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 espace de noms Event Hubs
Créez une ressource Event Hubs utilisée comme destination du gestionnaire pour l’abonnement à la livraison push de la rubrique d’espace de noms. Effectuez ces étapes dans un onglet distinct de votre navigateur Internet ou dans une fenêtre distincte. Accédez au portail Azure et connectez-vous avec les mêmes informations d’identification que celles que vous avez utilisées précédemment et le même abonnement Azure.
- Tapez Event Hubs dans la barre de recherche, puis sélectionnez Event Hubs.
- Dans la page Event Hubs, 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 que vous avez utilisé pour créer l’espace de noms Event Grid.
- Sélectionnez le groupe de ressources utilisé précédemment.
- Entrez un nom pour l’espace de noms Event Hubs.
- Sélectionnez la même localisation que celle que vous avez utilisée pour l’espace de noms Event Grid.
- Sélectionnez De base pour le niveau tarifaire.
- Sélectionnez Revoir + créer.
- Dans la page Vérifier, sélectionnez Créer.
- Dans la page Déploiement, sélectionnez Accéder à la ressource une fois le déploiement réussi.
Ajouter une identité managée Event Grid au rôle Expéditeur de données Event Hubs
- Sur la page Espace de noms Event Hubs, sélectionnez Contrôle d’accès (IAM) dans le menu de gauche.
- Sélectionnez Ajouter ->Ajouter une attribution de rôle dans la barre de commandes.
- Dans la page Ajouter une attribution de rôle, recherchez Expéditeur de données Event Hubs et sélectionnez Expéditeur de données Azure Event Hubs dans la liste des rôles, puis sélectionnez Suivant.
- Sous l’onglet Membres, sélectionnez Identité managée pour le type, puis sélectionnez + Sélectionner des membres.
- Dans la page Sélectionner des identités managées, sélectionnez Espace de noms Event Grid pour l’Identité managée, puis sélectionnez l’identité managée qui a le même nom que l’espace de noms Event Grid.
- Dans la page Sélectionner des identités managées, choisissez Sélectionner.
- Ensuite, dans la page Ajouter une attribution de rôle, sélectionnez Vérifier + attribuer.
- Sur la page Vérifier + attribuer, sélectionnez Vérifier + attribuer.
Créer un hub d’événements
- Dans la page Espace de noms Event Hubs, sélectionnez Event Hubs dans le menu de gauche.
- Dans la page Event Hubs, sélectionnez + Hub d’événements dans la barre de commandes.
- Dans la page Créer un hub d’événements, entrez un nom pour le hub d’événements, puis sélectionnez Vérifier + créer.
- Dans la page Vérifier + créer, sélectionnez Créer.
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.
- Vérifiez que Hub d’événements est sélectionné pour le Type de point de terminaison.
- Sélectionnez Configurer un point de terminaison.
- Dans la page Sélectionner un hub d’événements, suivez ces étapes :
- De retour dans la page Créer un abonnement, sélectionnez Affectée par le système pour Type d’identité managée.
- 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.
Lancez Cloud Shell dans le portail Azure. Basculez vers Bash.
Dans Cloud Shell, exécutez la commande suivante pour déclarer une variable destinée à contenir la clé d’accès de l’espace de noms. Vous avez noté la clé d’accès précédemment dans ce démarrage rapide.
key=ACCESSKEY
Déclarez une variable pour contenir l’URI de l’opération de publication. Remplacez
NAMESPACENAME
par le nom de votre espace de noms Event Grid etTOPICNAME
par le nom de la rubrique.publish_operation_uri=https://NAMESPACENAME.eastus-1.eventgrid.azure.net/topics/TOPICNAME: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
Accédez à la page Espace de noms Event Hubs dans le portail Azure, actualisez la page et vérifiez que le compteur de messages entrants dans le graphique indique qu’un événement a été reçu.
Étapes suivantes
Dans cet article, vous avez créé et configuré l’espace de noms Event Grid et les ressources Event Hubs. Pour obtenir des instructions détaillées sur la réception d’événements à partir d’un hub d’événements, consultez les tutoriels suivants :
- .NET Core
- Java
- Python
- JavaScript
- Go
- C (envoi uniquement)
- Apache Storm (réception uniquement)