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.

  1. Klona GitHub azure-service-bus-lagringsplatsen eller ladda ned zip-filen och extrahera filer från den.

  2. I Visual Studio går du till mappen \samples\DotNet\Azure.Messaging.ServiceBus\ServiceBusEventGridIntegrationV2 och öppnar sedan filen SBEventGridIntegration.sln .

  3. I fönstret Solution Explorer expanderar du Projektet MessageSender och väljer Program.cs.

  4. 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>";
    
  5. Skapa och kör programmet för att skicka 5 testmeddelanden (const int numberOfMessages = 5;) till Service Bus-ämnet.

    Konsolappens utdata

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.

  1. Välj + Skapa en resurs, välj Integrering och välj sedan Logikapp.

    Skärmbild som visar menyn Skapa en resurs –> Integrering –> Logikapp.

  2. Följ dessa steg på sidan Skapa logikapp :

    1. Välj din Azure-prenumeration.
    2. 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.
    3. Ange ett namn för logikappen.
    4. Välj Region för logikappen.
    5. Som Plantyp väljer du Förbrukning.
    6. Välj Granska + skapa. Skärmbild som visar sidan Skapa en logikapp.
    7. På sidan Granska + skapa väljer du Skapa för att skapa logikappen.
  3. På sidan Distributionen är klar väljer du Gå till resurs för att gå till sidan Logikapp .

  4. 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

  1. På sidan Logikapp väljer du Logikappdesigner på den vänstra menyn.

  2. I den högra rutan under Mallar väljer du Tom logikapp.

    Skärmbild som visar sidan Logikappdesigner med alternativet Tom logikapp valt.

  3. Gör följande i designern:

    1. Sök efter Event Grid.

    2. Välj När en resurshändelse inträffar – Azure Event Grid.

      Skärmbild som visar Logikappdesignern med Event Grid-utlösaren markerad.

  4. Välj Logga in.

    Skärmbild som visar Logic Apps Designer med inloggningsknappen markerad.

  5. 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.

  6. Gör följande på sidan När en resurshändelse inträffar:

    1. Välj din Azure-prenumerationen.

    2. För Resurstyp väljer du Microsoft.ServiceBus.Namespaces.

    3. Som Resursnamn väljer du Service Bus-namnområdet.

    4. Välj Lägg till ny parameter, välj Suffixfilter och flytta sedan fokus utanför listrutan.

      Skärmbild som visar tillägg av en ny parameter av typen Suffixfilter.

    5. För Suffixfilter anger du namnet på din Service Bus-ämnesprenumeration.

      Skärmbild som visar Logic Apps Designer med anslutningskonfiguration för Service Bus-namnområdet.

  7. Välj + Nytt steg i designern och gör följande:

    1. Sök efter Service Bus.

    2. Välj Service Bus i listan.

      Skärmbild som visar valet av Service Bus.

    3. Välj för Hämta meddelanden i listan Åtgärder .

    4. Välj Hämta meddelanden från en ämnesprenumeration (peek-lock).

      Skärmbild som visar Logic Apps Designer med Hämta meddelanden från en ämnesprenumeration vald.

    5. Följ de här stegen:

      1. Ange ett namn för anslutningen. Till exempel: Hämta meddelanden från ämnesprenumerationen.

      2. Bekräfta att autentiseringstypen är inställd på Åtkomstnyckel.

      3. För Anslut ionssträng kopierar och klistrar du in anslutningssträng till Service Bus-namnområdet som du sparade tidigare.

      4. Välj Skapa.

        Skärmbild som visar Logic Apps Designer med Service Bus-anslutningssträng angivet.

    6. Välj ämne och prenumeration.

      Skärmbild som visar Logic Apps Designer med service bus-ämnet och prenumerationen angiven.

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

  1. Välj + Nytt steg.

  2. Sök efter och välj sedan Kontroll.

    Skärmbild som visar kategorin Kontroll.

  3. I listan Åtgärder väljer du För var och en.

    Skärmbild som visar för varje åtgärd markerad.

  4. 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).

    Skärmbild som visar valet av För varje indata.

Lägg till ett steg i foreach-loopen för att skicka ett e-postmeddelande med meddelandetexten

  1. I För varje loop väljer du Lägg till en åtgärd.

    Skärmbild som visar valet av knappen Lägg till en åtgärd i for-each-loopen.

  2. I textrutan Sök efter anslutningsappar och åtgärder anger du Office 365.

  3. Välj Office 365 Outlook i sökresultaten.

    Skärmbild som visar valet av Office 365.

  4. Välj Skicka ett e-postmeddelande (V2) i listan över åtgärder.

    Skärmbild som visar valet av Skicka en e-poståtgärd.

  5. Välj Logga in och följ stegen för att skapa en anslutning till Office 365 Outlook.

  6. I fönstret Skicka ett e-postmeddelande (V2) följer du dessa steg:

  7. Välj i textrutan för Brödtext och följ dessa steg:

    1. För Till anger du en e-postadress.

    2. För Ämne anger du Meddelande som tagits emot från Service Bus-ämnets prenumeration.

    3. Växla till Uttryck.

    4. Ange följande uttryck:

      base64ToString(items('For_each')?['ContentData'])
      
    5. Välj OK.

      Skärmbild som visar uttrycket för Brödtext för aktiviteten Skicka ett e-postmeddelande.

Lägg till ytterligare en åtgärd i foreach-loopen för att slutföra meddelandet

  1. I För varje loop väljer du Lägg till en åtgärd.

    1. Välj Service Bus i listan Senaste .

    2. Välj Slutför meddelandet i en ämnesprenumeration i listan över åtgärder.

      Skärmbild som visar valet av Slutför ett meddelande i en ämnesprenumeration.

    3. Välj ditt Service Bus-ämne.

    4. Välj en prenumeration på ämnet.

    5. För Lås token för meddelandet väljer du Lås token från dynamiskt innehåll.

      Skärmbild som visar fältet låstoken.

  2. Spara logikappen genom att välja Spara i verktygsfältet i Logic Apps Designer.

    Skärmbild som visar knappen Spara i logikappen som har utformats.

Testa appen

  1. 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.

  2. 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.

    Skärmbild som visar logikappens körningshistorik.

  3. Välj en logikapp som ska köras för att se informationen. Observera att den bearbetade 5 meddelanden i for-loopen.

    Skärmbild som visar information om den valda logikappens körning.

  4. Du bör få ett e-postmeddelande för varje meddelande som logikappen tar emot.

    Skärmbild av Outlook med de meddelanden som tas emot från ämnenas prenumeration.

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:

  1. Bekräfta att meddelandena nådde Service Bus-ämnet. Se räknaren för inkommande meddelandensidan Service Bus-ämne . I det här fallet körde jag Programmet MessageSender en gång, så jag ser fem meddelanden.

    Skärmbild som visar sidan Service Bus-ämne med inkommande meddelandeantal valt.

  2. 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.

    Skärmbild som visar sidan Service Bus-prenumeration med det aktiva antalet meddelanden markerat.

  3. Du ser även levererade händelsersidan Händelser i Service Bus-namnområdet.

    Skärmbild som visar sidan Händelser på sidan Service Bus-namnområde.

  4. 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 .

    Skärmbild som visar sidan Händelseprenumeration med det levererade händelseantalet valt.

Nästa steg