Självstudie: Svara på Azure Service Bus-händelser som tas emot via Azure Event Grid med hjälp av Azure Logic Apps
I den här självstudien lär du dig att svara på Azure Service Bus-händelser som tas emot via Azure Event Grid med hjälp av Azure Logic Apps.
Förutsättningar
Om du inte har en Azure-prenumeration kandu skapa ett kostnadsfritt konto innan du börjar.
Skapa ett namnområde för Service Bus
Följ anvisningarna i den här självstudien: Snabbstart: Använd Azure Portal för att skapa ett Service Bus ämne och prenumerationer på ämnet för att utföra följande uppgifter:
- Skapa en premium-Service Bus-namnrymd.
- Hämta anslutningssträngen.
- Skapa ett Service Bus ämne.
- Skapa en prenumeration på ämnet. Du behöver bara en prenumeration i den här självstudien, så du behöver inte skapa prenumerationerna S2 och S3.
Skicka meddelanden till Service Bus ämnet
I det här steget använder du ett exempelprogram för att skicka meddelanden till Service Bus ämne som du skapade i föregående steg.
Klona GitHub azure-service-bus eller ladda ned zip-filen och extrahera filer från den.
I Visual Studio du till mappen \samples\DotNet\Azure.Messaging.ServiceBus\ServiceBusEventGridIntegrationV2 och öppnar sedan filen SBEventGridIntegration.sln.
I Solution Explorer expanderar du projektet MessageSender och väljer Program.cs.
Ersätt
<SERVICE BUS NAMESPACE - CONNECTION STRING>med anslutningssträngen till Service Bus namnområdet<TOPIC NAME>och med namnet på ämnet.const string ServiceBusConnectionString = "<SERVICE BUS NAMESPACE - CONNECTION STRING>"; const string TopicName = "<TOPIC NAME>";Skapa och kör programmet för att skicka 5 testmeddelanden (
const int numberOfMessages = 5;) till Service Bus ämnet.
Ta emot meddelanden med Logic Apps
I det här steget skapar du en Azure-logikapp som tar Service Bus händelser via Azure Event Grid.
- Skapa en logikapp i Azure Portal.
- Välj + Skapa en resurs, välj Integration och välj sedan Logikapp.
- Välj din Azure-prenumeration.
- Välj Använd befintlig för resursgruppen och välj den resursgrupp som du använde för andra resurser (till exempel Azure-funktion Service Bus namnområdet) som du skapade tidigare.
- För Typ väljer du Förbrukning.
- Ange ett namn för logikappen.
- Välj Region för logikappen.
- Välj Granska + skapa.
- På sidan Granska + skapa väljer du Skapa för att skapa logikappen.
- På sidan Distributionen är klar väljer du Gå till resurs.
- På sidan Logic Apps Designer väljer du Tom logikapp under Mallar.
Lägga till ett steg för att ta emot meddelanden Service Bus via Event Grid
- Gör följande i designern:
Sök efter Event Grid.
Välj När en resurshändelse inträffar – Azure Event Grid.

- Välj Logga in, ange dina autentiseringsuppgifter för Azure och välj Tillåt åtkomst.
- Gör följande på sidan När en resurshändelse inträffar:
Välj din Azure-prenumeration.
För Resurstyp väljer du Microsoft.ServiceBus.Namespaces.
För Resursnamn väljer du Service Bus namnområdet.
Välj Lägg till ny parameter, välj SuffixFilter och flytta sedan fokus utanför listrutan.
För Suffixfilter anger du namnet på prenumerationen Service Bus ämnet.

- Välj + Nytt steg i designern och gör följande:
Sök efter Service Bus.
Välj Service Bus i listan.
Välj Hämta meddelanden i listan Åtgärder.
Välj Hämta meddelanden från en ämnesprenumeration (peek-lock).

Ange ett namn för anslutningen. Exempel: Hämta meddelanden från ämnesprenumerationen och välj Service Bus namnområdet.

Välj RootManageSharedAccessKey och välj sedan Skapa.

Välj ditt ämne och din prenumeration.

Lägga till ett steg för att bearbeta och slutföra mottagna meddelanden
I det här steget lägger du till steg för att skicka det mottagna meddelandet i ett e-postmeddelande och sedan slutföra meddelandet. I ett verkligt scenario bearbetar du ett meddelande i logikappen innan du slutför meddelandet.
Lägga till en foreach-loop
Välj + Nytt steg.
Sök efter och välj sedan Kontrollera.
I listan Åtgärder väljer du För varje.
För Välj utdata från föregående steg (klicka i textrutan om det behövs) väljer du Brödtext under Hämta meddelanden från en ämnesprenumeration (peek-lock).
Lägg till ett steg i foreach-loopen för att skicka ett e-postmeddelande med meddelandetexten
I For Each loop (För varje-loop) väljer du Add an action (Lägg till en åtgärd).
I textrutan Sök efter anslutningsappar och åtgärder anger du Office 365.
Välj Office 365 Outlook i sökresultatet.
I listan över åtgärder väljer du Skicka ett e-postmeddelande (V2).
I fönstret Skicka ett e-postmeddelande (V2) följer du dessa steg:
Välj i textrutan för Brödtext och följ dessa steg:
För Till anger du en e-postadress.
För Ämne anger du Meddelande mottaget Service Bus från ämnets prenumeration.
Växla till Uttryck.
Ange följande uttryck:
base64ToString(items('For_each')?['ContentData'])Välj OK.
Lägg till ytterligare en åtgärd i foreach-loopen för att slutföra meddelandet
I For Each loop (För varje-loop) väljer du Add an action (Lägg till en åtgärd).
Välj Service Bus i listan Senaste.
Välj Slutför meddelandet i en ämnesprenumeration i listan över åtgärder.
Välj ditt Service Bus ämne.
Välj en prenumeration på ämnet.
För Lås token för meddelandet väljer du Lås token från dynamiskt innehåll.

Välj Spara i verktygsfältet på Logic Apps Designer för att spara logikappen.
Testa appen
Om du inte redan har skickat testmeddelanden till ämnet följer du anvisningarna i avsnittet Skicka meddelanden till Service Bus för att skicka meddelanden till ämnet.
Växla till sidan Översikt för logikappen och växla sedan till fliken Körningshistorik i det nedre fönstret. Du ser att logikappen kör meddelanden som har skickats till ämnet. Det kan ta några minuter innan du ser att logikappen körs. Välj Uppdatera i verktygsfältet för att uppdatera sidan.

Välj en logikapp som ska köras för att se informationen. Observera att den bearbetade 5 meddelanden i for-loopen.
Du bör få ett e-postmeddelande för varje meddelande som tas emot av logikappen.
Felsöka
Om du inte ser några anrop efter att ha väntat och uppdatera under en stund följer du dessa steg:
Bekräfta att meddelandena har nått Service Bus ämnet. Se räknaren för inkommande meddelanden på sidan Service Bus ämne. I det här fallet körde jag Programmet MessageSender två gånger, så jag ser 10 meddelanden (5 meddelanden för varje körning).
Bekräfta att det inte finns några aktiva meddelanden Service Bus prenumerationen. Om du inte ser några händelser på den här sidan kontrollerar du att Service Bus prenumerationssidan inte visar något antal aktiva meddelanden. Om antalet för den här räknaren är större än noll vidarebefordras inte meddelandena i prenumerationen till hanteringsfunktionen (händelseprenumerationshanteraren) av någon anledning. Kontrollera att du har ställt in händelseprenumerationen korrekt.
Du ser även levererade händelser på sidan Händelser i Service Bus namnområdet.
Du kan också se att händelserna levereras på sidan Händelseprenumeration. Du kommer till den här sidan genom att välja händelseprenumerationen på sidan Händelser.
Nästa steg
- Läs mer om Azure Event Grid.
- Läs mer om Azure Functions.
- Läs mer om Logic Apps-funktionen i Azure App Service.
- Läs mer om Azure Service Bus.