Tutoriel : Répondre aux événements Azure Service Bus reçus via Azure Event Grid avec Azure Logic AppsTutorial: Respond to Azure Service Bus events received via Azure Event Grid by using 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.In this tutorial, you learn how to respond to Azure Service Bus events that are received via Azure Event Grid by using Azure Logic Apps.

PrérequisPrerequisites

Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.If you don't have an Azure subscription, create a free account before you begin.

Création d’un espace de noms Service BusCreate a Service Bus namespace

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 :Follow instructions in this tutorial: Quickstart: Use the Azure portal to create a Service Bus topic and subscriptions to the topic to do the following tasks:

  • Créer un espace de noms Service Bus premium.Create a premium Service Bus namespace.
  • Obtenir la chaîne de connexion.Get the connection string.
  • Créer une rubrique Service Bus.Create a Service Bus topic.
  • Créer un abonnement à la rubrique.Create a subscription to the topic. 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 S3You need only one subscription in this tutorial, so no need to create subscriptions S2 and S3.

Envoyer des messages à la rubrique Service BusSend messages to the Service Bus topic

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.In this step, you use a sample application to send messages to the Service Bus topic you created in the previous step.

  1. Clonez le dépôt GitHub azure-service-bus.Clone the GitHub azure-service-bus repository.

  2. Dans Visual Studio, accédez au dossier \samples\DotNet\Azure.Messaging.ServiceBus\ServiceBusEventGridIntegration, puis ouvrez le fichier SBEventGridIntegration.sln.In Visual Studio, go to the \samples\DotNet\Azure.Messaging.ServiceBus\ServiceBusEventGridIntegration folder, and then open the SBEventGridIntegration.sln file.

  3. Dans la fenêtre Explorateur de solutions, développez le projet MessageSender, puis sélectionnez Program.cs.In the Solution Explorer window, expand the MessageSender project, and select Program.cs.

  4. 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.Replace <SERVICE BUS NAMESPACE - CONNECTION STRING> with the connection string to your Service Bus namespace and <TOPIC NAME> with the name of the topic.

    const string ServiceBusConnectionString = "<SERVICE BUS NAMESPACE - CONNECTION STRING>";
    const string TopicName = "<TOPIC NAME>";
    
  5. Générez et exécutez le programme pour envoyer cinq messages de test (const int numberOfMessages = 5;) à la rubrique Service Bus.Build and run the program to send 5 test messages (const int numberOfMessages = 5;) to the Service Bus topic.

    Sortie d’application console

Recevoir des messages à l’aide de Logic AppsReceive messages by using 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.In this step, you create an Azure logic app that receives Service Bus events via Azure Event Grid.

  1. Créez une application logique dans le portail Azure.Create a logic app in the Azure portal.

    1. Sélectionnez + Créer une ressource, Intégration, puis Application logique.Select + Create a resource, select Integration, and then select Logic App.
    2. Dans la page Application logique - Créer, entrez un nom pour l’application logique.On the Logic App - Create page, enter a name for the logic app.
    3. Sélectionnez votre abonnement Azure.Select your Azure subscription.
    4. 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.Select Use existing for the Resource group, and select the resource group that you used for other resources (like Azure function, Service Bus namespace) that you created earlier.
    5. Sélectionnez l’emplacement de l’application logique.Select the Location for the logic app.
    6. Sélectionnez Vérifier + créer.Select Review + Create.
    7. Dans la page Vérifier + créer, sélectionnez Créer pour créer l’application logique.On the Review + Create page, select Create to create the logic app.
  2. Dans la page Concepteur Logic Apps, sélectionnez Application logique vide sous Modèles.On the Logic Apps Designer page, select Blank Logic App under Templates.

  3. Dans le concepteur, procédez comme suit :On the designer, do the following steps:

    1. Recherchez Event Grid.Search for Event Grid.

    2. Sélectionnez Quand un événement de ressource se produit - Azure Event Grid.Select When a resource event occurs - Azure Event Grid.

      Concepteur Logic Apps - sélectionner le déclencheur Event Grid

  4. Sélectionnez Se connecter, entrez vos informations d’identification Azure, puis sélectionnez Autoriser l’accès.Select Sign in, enter your Azure credentials, and select Allow Access.

  5. Dans la page Quand un événement de ressource se produit, effectuez les étapes suivantes :On the When a resource event occurs page, do the following steps:

    1. Sélectionnez votre abonnement Azure.Select your Azure subscription.
    2. Pour Type de ressource, sélectionnez Microsoft.ServiceBus.Namespaces.For Resource Type, select Microsoft.ServiceBus.Namespaces.
    3. Pour Nom de la ressource, sélectionnez votre espace de noms Service Bus.For Resource Name, select your Service Bus namespace.
    4. Sélectionnez Ajouter un nouveau paramètre, puis Filtre de suffixe.Select Add new parameter, and select Suffix Filter.
    5. Pour Filtre de suffixe, entrez le nom de votre deuxième abonnement à la rubrique Service Bus.For Suffix Filter, enter the name of your second Service Bus topic subscription. Concepteur Logic Apps - Configurer un événementLogic Apps Designer - configure event
  6. Sélectionnez + Nouvelle étape dans le concepteur et procédez comme suit :Select + New Step in the designer, and do the following steps:

    1. Recherchez Service Bus.Search for Service Bus.

    2. Sélectionnez Service Bus dans la liste.Select Service Bus in the list.

    3. Recherchez Obtenir les messages dans la liste Actions.Select for Get messages in the Actions list.

    4. Sélectionnez Obtenir des messages à partir d’un abonnement à une rubrique (Peek-lock) .Select Get messages from a topic subscription (peek-lock).

      Concepteur Logic Apps - action Obtenir les messages

    5. Attribuez un nom à cette connexion.Enter a name for the connection. Par exemple : Obtenir des messages à partir de l’abonnement à la rubrique, puis sélectionnez l’espace de noms Service Bus.For example: Get messages from the topic subscription, and select the Service Bus namespace.

      Concepteur Logic Apps - sélectionner l’espace de noms Service Bus

    6. Sélectionnez RootManageSharedAccessKey, puis Créer.Select RootManageSharedAccessKey, and then select Create.

      Concepteur Logic Apps - sélectionner la clé d’accès partagé

    7. Sélectionnez votre rubrique et votre abonnement.Select your topic and subscription.

      Capture d’écran montrant où sélectionner votre rubrique et votre abonnement.

  7. Sélectionnez + Nouvelle étape et procédez comme suit :Select + New step, and do the following steps:

    1. Sélectionnez Service Bus.Select Service Bus.

    2. Sélectionnez Compléter le message dans un abonnement à une rubrique.Select Complete the message in a topic subscription from the list of actions.

    3. Sélectionnez votre rubrique Service Bus.Select your Service Bus topic.

    4. Sélectionnez le deuxième abonnement à la rubrique.Select the second subscription to the topic.

    5. Pour Jeton de verrouillage du message, sélectionnez Jeton de verrouillage à partir du contenu dynamique.For Lock token of the message, select Lock Token from the Dynamic content.

      Concepteur Logic Apps : compléter le message

  8. Sélectionnez Enregistrer dans la barre d’outils du concepteur Logic Apps pour enregistrer l’application logique.Select Save on the toolbar on the Logic Apps Designer to save the logic app.

    Enregistrer l’application logique

  9. 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.If you haven't already sent test messages to the topic, follow instructions in the Send messages to the Service Bus topic section to send messages to the topic.

  10. Basculez vers la page Vue d’ensemble de votre application logique.Switch to the Overview page of your logic app. Vous voyez que l’application logique s’exécute dans Historique des exécutions pour les messages envoyés.You see the logic app runs in the Runs history for the messages sent. L’exécution de l’application logique peut prendre quelques minutes.It could take a few minutes before you see the logic app runs. Sélectionnez Actualiser dans la barre d’outils pour actualiser la page.Select Refresh on the toolbar to refresh the page.

    Concepteur Logic Apps - l’application logique s’exécute

  11. Sélectionnez une exécution de l’application logique pour voir les détails.Select a logic app run to see the details. Notez qu’elle a traité 5 messages dans la boucle for.Notice that it processed 5 messages in the for loop.

    Détails de l’exécution de l’application logique

DépannerTroubleshoot

Si vous ne voyez aucune invocation après avoir attendu un certain temps et actualisé la page, procédez comme suit :If you don't see any invocations after waiting and refreshing for sometime, follow these steps:

  1. Vérifiez que les messages ont atteint la rubrique Service Bus.Confirm that the messages reached the Service Bus topic. Consultez le compteur des messages entrants dans la page Rubrique Service Bus.See the incoming messages counter on the Service Bus Topic page. En l’occurrence, comme j’ai exécuté l’application MessageSender à deux reprises, je vois 10 messages (5 messages pour chaque exécution).In this case, I ran the MessageSender application twice, so I see 10 messages (5 messages for each run).

    Page Rubrique Service Bus : messages entrants

  2. Vérifiez qu’il n’y a aucun message actif au niveau de l’abonnement Service Bus.Confirm that there are no active messages at the Service Bus subscription. 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.If you don't see any events on this page, verify that the Service Bus Subscription page doesn't show any Active message count. 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.If the number for this counter is greater than zero, the messages at the subscription aren't forwarded to the handler function (event subscription handler) for some reason. Vérifiez que vous avez correctement configuré l’abonnement aux événements.Verify that you've set up the event subscription properly.

    Nombre de messages actifs au niveau de l’abonnement Service Bus

  3. Vous pouvez également voir les événements remis dans la page Événements de l’espace de noms Service Bus.You also see delivered events on the Events page of the Service Bus namespace.

    Page événements : événements remis

  4. Vous pouvez également voir que les événements sont remis dans la page Abonnement aux événements.You can also see that the events are delivered on the Event Subscription page. Vous pouvez accéder à cette page en sélectionnant l’abonnement aux événements dans la page Événements.You can get to this page by selecting the event subscription on the Events page.

    Page Abonnement aux événements : événements remis

Étapes suivantesNext steps