Tutoriel : Répondre aux événements Azure Service Bus reçus via Azure Event Grid avec Azure Logic Apps
Dans ce tutoriel, vous allez apprendre à répondre aux événements Azure Service Bus qui sont reçus via Azure Event Grid à l’aide d’Azure Logic Apps.
Prérequis
Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.
Création d’un espace de noms Service Bus
Suivez les instructions de ce tutoriel : Démarrage rapide : utiliser le portail Azure pour créer une rubrique Service Bus et des abonnements à cette rubrique pour effectuer les tâches suivantes :
- Créer un espace de noms Service Bus premium.
- Obtenir la chaîne de connexion.
- Créer une rubrique Service Bus.
- Créer un abonnement à la rubrique. Vous n’avez besoin que d’un seul abonnement dans ce tutoriel. Il n’est donc pas nécessaire de créer des abonnements S2 et S3
Envoyer des messages à la rubrique Service Bus
Lors de cette étape, vous allez utiliser un exemple d’application pour envoyer des messages à la rubrique Service Bus créée à l’étape précédente.
Clonez le dépôt GitHub azure-service-bus ou téléchargez et décompressez le fichier zip.
Dans Visual Studio, accédez au dossier \samples\DotNet\Azure.Messaging.ServiceBus\ServiceBusEventGridIntegrationV2, puis ouvrez le fichier SBEventGridIntegration.sln.
Dans la fenêtre Explorateur de solutions, développez le projet MessageSender, puis sélectionnez Program.cs.
Remplacez
<SERVICE BUS NAMESPACE - CONNECTION STRING>
par la chaîne de connexion à votre espace de noms Service Bus et<TOPIC NAME>
par le nom de la rubrique.const string ServiceBusConnectionString = "<SERVICE BUS NAMESPACE - CONNECTION STRING>"; const string TopicName = "<TOPIC NAME>";
Générez et exécutez le programme pour envoyer cinq messages de test (
const int numberOfMessages = 5;
) à la rubrique Service Bus.
Recevoir des messages à l’aide de Logic Apps
Au cours de cette étape, vous allez créer une application logique Azure qui reçoit des événements Service Bus via Azure Event Grid.
Sélectionnez + Créer une ressource, Intégration, puis Application logique.
Dans la page Créer une application logique, procédez comme suit :
- Sélectionnez votre abonnementAzure.
- Sélectionnez Utiliser l’existant pour Groupe de ressources, puis le groupe de ressources que vous avez utilisé pour d’autres ressources (telles que la fonction Azure ou l’espace de noms Service Bus) créées précédemment.
- Entrez le nom de l’application logique.
- Sélectionnez la Région de l’application logique.
- Pour Type de plan, sélectionnez Consommation.
- Sélectionnez Vérifier + créer.
- Dans la page Vérifier + créer, sélectionnez Créer pour créer l’application logique.
Dans la page Déploiement terminée, sélectionnez Accéder à la ressource pour accéder à la page de l’application logique.
Dans la page Concepteur Logic Apps, sélectionnez Application logique vide sous Modèles.
Ajouter une étape pour recevoir des messages de Service Bus via Event Grid
Dans la page de l’application logique, sélectionnez le concepteur d’application logique dans le menu de gauche.
Dans le volet droit, sous Modèles, sélectionnez Application logique vide.
Dans le concepteur, procédez comme suit :
Recherchez Event Grid.
Sélectionnez Quand un événement de ressource se produit - Azure Event Grid.
Cliquez sur Connexion.
Dans la page Se connecter à votre compte, sélectionnez le compte que vous souhaitez utiliser pour vous connecter à Azure. 1.
Dans la page Quand un événement de ressource se produit, effectuez les étapes suivantes :
Sélectionnez votre abonnement Azure.
Pour Type de ressource, sélectionnez Microsoft.ServiceBus.Namespaces.
Pour Nom de la ressource, sélectionnez votre espace de noms Service Bus.
Sélectionnez Ajouter un nouveau paramètre, sélectionnez Filtre de suffixe, puis déplacez le focus en dehors de la liste déroulante.
Pour Filtre de suffixe, entrez le nom de votre abonnement à la rubrique Service Bus.
Sélectionnez + Nouvelle étape dans le concepteur et procédez comme suit :
Recherchez Service Bus.
Sélectionnez Service Bus dans la liste.
Recherchez Obtenir les messages dans la liste Actions.
Sélectionnez Obtenir des messages à partir d’un abonnement à une rubrique (Peek-lock) .
Effectuez les étapes suivantes :
Attribuez un nom à cette connexion. Par exemple : Obtenir des messages de l’abonnement à la rubrique.
Vérifiez que le type d’authentification est défini sur Clé d’accès.
Pour la chaîne de connexion, copiez et collez la chaîne de connexion dans l’espace de noms Service Bus que vous avez enregistré précédemment.
Sélectionnez Créer.
Sélectionnez votre rubrique et votre abonnement.
Ajouter une étape pour traiter et terminer les messages reçus
Dans cette étape, vous allez ajouter des étapes pour envoyer le message reçu dans un e-mail et ensuite le terminer. Dans un scénario réel, vous allez traiter un message dans l’application logique avant de le terminer.
Ajouter une boucle foreach
Sélectionnez + Nouvelle étape.
Recherchez, puis sélectionnez Contrôle.
Dans la liste Actions, sélectionnez For each.
Pour Sélectionner une sortie à partir des étapes précédentes (cliquez dans la zone de texte si nécessaire), sélectionnez Corps sous Obtenir des messages à partir d’un abonnement à une rubrique (Peek-lock) .
Ajouter une étape dans la boucle foreach pour envoyer un e-mail avec le corps du message
Dans la boucle For Each, sélectionnez Ajouter une action.
Dans la zone de texte Rechercher des connecteurs et des actions, entrez Office 365.
Sélectionnez Office 365 Outlook dans les résultats de la recherche.
Dans la liste d’actions, sélectionnez Envoyer un e-mail (v2) .
Sélectionnez Se connecter, puis suivez les étapes pour créer une connexion à Office 365 Outlook.
Dans la fenêtre Envoyer un e-mail (V2) , effectuez les étapes suivantes :
Cliquez dans la zone de texte pour Corps, puis procédez comme suit :
Pour À, entrez une adresse e-mail.
Pour Objet, entrez Message reçu de l’abonnement à la rubrique Service Bus.
Basculez sur l’onglet Expression.
Entrez l’expression suivante :
base64ToString(items('For_each')?['ContentData'])
Cliquez sur OK.
Ajouter une autre action dans la boucle foreach pour terminer le message
Dans la boucle For Each, sélectionnez Ajouter une action.
Sélectionnez Service Bus dans la liste Récent.
Sélectionnez Compléter le message dans un abonnement à une rubrique.
Sélectionnez votre rubrique Service Bus.
Créer un abonnement à la rubrique.
Pour Jeton de verrouillage du message, sélectionnez Jeton de verrouillage à partir du contenu dynamique.
Sélectionnez Enregistrer dans la barre d’outils du concepteur Logic Apps pour enregistrer l’application logique.
Tester l'application
Si vous n’avez pas encore envoyé de messages de test à la rubrique, suivez les instructions de la section Envoyer des messages à la rubrique Service Bus.
Basculez vers la page Vue d’ensemble de votre application logique, puis passez à l’onglet Historique des exécutions dans le volet inférieur. Vous voyez que l’application logique exécute des messages qui ont été envoyés à la rubrique. L’exécution de l’application logique peut prendre quelques minutes. Sélectionnez Actualiser dans la barre d’outils pour actualiser la page.
Sélectionnez une exécution de l’application logique pour voir les détails. Notez qu’elle a traité 5 messages dans la boucle for.
Vous devez recevoir un e-mail pour chaque message reçu par l’application logique.
Résolution des problèmes
Si vous ne voyez aucune invocation après avoir attendu un certain temps et actualisé la page, procédez comme suit :
Vérifiez que les messages ont atteint la rubrique Service Bus. Consultez le compteur des messages entrants dans la page Rubrique Service Bus. Dans ce cas, j’ai exécuté l’application MessageSender une fois, donc je vois 5 messages.
Vérifiez qu’il n’y a aucun message actif au niveau de l’abonnement Service Bus. Si vous ne voyez pas d’événements dans cette page, vérifiez que la page Abonnement Service Bus n’affiche aucun Nombre de messages actifs. Si le nombre de ce compteur est supérieur à zéro, les messages au niveau de l’abonnement ne sont pas transmis à la fonction de gestionnaire (gestionnaire d’abonnement aux événements) pour une raison quelconque. Vérifiez que vous avez correctement configuré l’abonnement aux événements.
Vous pouvez également voir les événements remis dans la page Événements de l’espace de noms Service Bus.
Vous pouvez également voir que les événements sont remis dans la page Abonnement aux événements. Vous pouvez accéder à cette page en sélectionnant l’abonnement aux événements dans la page Événements.
Étapes suivantes
- Apprenez-en plus sur Azure Event Grid.
- Apprenez-en plus sur Azure Functions.
- Apprenez-en plus sur la fonctionnalité Logic Apps d’Azure App Service.
- En savoir plus sur Azure Service Bus.