Självstudie: Svara på Azure Service Bus-händelser som tagits emot via Azure Event Grid med hjälp av Azure Logic Apps
I den här självstudien får du lära dig hur du svarar 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 kan du skapa ettkostnadsfritt 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-portalen för att skapa ett Service Bus-ämne och prenumerationer på ämnet för att utföra följande uppgifter:
- Skapa ett Premium Service Bus-namnområde.
- Hämta anslutningssträng.
- 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 det Service Bus-ämne som du skapade i föregående steg.
Klona GitHub azure-service-bus-lagringsplatsen eller ladda ned zip-filen och extrahera filer från den.
I Visual Studio går du till mappen \samples\DotNet\Azure.Messaging.ServiceBus\ServiceBusEventGridIntegrationV2 och öppnar sedan filen SBEventGridIntegration.sln .
I fönstret Solution Explorer expanderar du Projektet MessageSender och väljer Program.cs.
Ersätt
<SERVICE BUS NAMESPACE - CONNECTION STRING>
med anslutningssträng till Service Bus-namnområdet och<TOPIC NAME>
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 emot Service Bus-händelser via Azure Event Grid.
Välj + Skapa en resurs, välj Integrering och välj sedan Logikapp.
Följ dessa steg på sidan Skapa 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-funktionen, Service Bus-namnområdet) som du skapade tidigare.
- Ange ett namn för logikappen.
- Välj Region för logikappen.
- Som Plantyp väljer du Förbrukning.
- 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 för att gå till sidan Logikapp .
På sidan Logic Apps Designer väljer du Tom logikapp under Mallar.
Lägga till ett steg för att ta emot meddelanden från Service Bus via Event Grid
På sidan Logikapp väljer du Logikappdesigner på den vänstra menyn.
I den högra rutan under Mallar väljer du Tom logikapp.
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.
På sidan Logga in på ditt konto väljer du det konto som du vill använda för att logga in på Azure. 1.
Gör följande på sidan När en resurshändelse inträffar:
Välj din Azure-prenumerationen.
För Resurstyp väljer du Microsoft.ServiceBus.Namespaces.
Som 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å din Service Bus-ämnesprenumeration.
Välj + Nytt steg i designern och gör följande:
Sök efter Service Bus.
Välj Service Bus i listan.
Välj för Hämta meddelanden i listan Åtgärder .
Välj Hämta meddelanden från en ämnesprenumeration (peek-lock).
Följ de här stegen:
Ange ett namn för anslutningen. Till exempel: Hämta meddelanden från ämnesprenumerationen.
Bekräfta att autentiseringstypen är inställd på Åtkomstnyckel.
För Anslut ionssträng kopierar och klistrar du in anslutningssträng till Service Bus-namnområdet som du sparade tidigare.
Välj Skapa.
Välj ämne och 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 Kontroll.
I listan Åtgärder väljer du För var och en.
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 För varje loop väljer du 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ökresultaten.
Välj Skicka ett e-postmeddelande (V2) i listan över åtgärder.
Välj Logga in och följ stegen för att skapa en anslutning till Office 365 Outlook.
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 som tagits emot från Service Bus-ä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 För varje loop väljer du 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.
Spara logikappen genom att välja Spara i verktygsfältet i Logic Apps Designer.
Testa appen
Om du inte redan har skickat testmeddelanden till ämnet följer du anvisningarna i avsnittet Skicka meddelanden till Service Bus-ämnet för att skicka meddelanden till ämnet.
Växla till sidan Översikt i logikappen och växla sedan till fliken Körningshistorik i det nedre fönstret. Du ser att logikappen kör meddelanden som skickades till ämnet. Det kan ta några minuter innan 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 logikappen tar emot.
Felsöka
Om du inte ser några anrop efter att ha väntat och uppdaterat någon gång följer du dessa steg:
Bekräfta att meddelandena nådde 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 en gång, så jag ser fem meddelanden.
Bekräfta att det inte finns några aktiva meddelanden i 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 talet 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 konfigurerat 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 kan komma 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.