Dela via


Självstudie: Svara på Azure Service Bus-händelser som tagits emot av Azure Event Grid med 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 med 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 Service Bus-namnområde

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 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 avsnittet använder du ett exempelprogram för att skicka meddelanden till det Service Bus-ämne som du skapade i föregående avsnitt.

  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 fem testmeddelanden (const int numberOfMessages = 5;) till Service Bus-ämnet.

    Skärmbild som visar konsolappens utdata och skickar 5 meddelanden.

Ta emot meddelanden med Logic Apps

I det här avsnittet skapar du en Azure-logikapp som tar emot Service Bus-händelser med hjälp av 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 > Integration Logic app > .

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

    1. Välj alternativet Förbrukning>för flera klientorganisationer och välj sedan Välj.

    2. Välj din Azure-prenumeration.

    3. Ange en resursgrupp. Välj den resursgrupp som du använde för andra resurser, till exempel Service Bus-namnområdet, som du skapade tidigare.

    4. Ange ett namn för logikappen.

    5. Välj Region för logikappen.

    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 .

Lägga till ett steg för att ta emot meddelanden från Service Bus med Event Grid

  1. Expandera Utvecklingsverktyg och välj Logikappmallar.

    Skärmbild som visar sidan Logikappdesigner med alternativet Tomt arbetsflöde valt.

  2. Välj Tomt arbetsflöde. Logikappdesignern öppnas.

  3. Gör följande i designern:

    1. Välj Lägg till en utlösare och sök sedan efter Event Grid.

    2. Välj När en resurshändelse inträffar.

      Skärmbild som visar Logic Apps Designer med Event Grid-utlösaren markerad.

  4. Välj Logga in.

    Skärmbild som visar Logic Apps Designer med knappen Logga in 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.

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

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

    2. Välj din Azure-prenumeration.

    3. För Resursnamn ska du välja ditt Service Bus-namnområde.

    4. Under Avancerade parametrar väljer du nedåtpilen.

    5. Välj Suffixfilter och flytta sedan fokus utanför listrutan.

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

    6. 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 tecknet och välj sedan Lägg till en åtgärd.

    1. Sök efter Service Bus.

      Skärmbild som visar valet av Service Bus.

    2. Välj Visa mer och välj sedan 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.

    3. Följ dessa steg:

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

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

      3. För Anslutningssträng kopierar och klistrar du in anslutningssträngen i Service Bus-namnområdet som du sparade tidigare.

      4. Välj Skapa ny.

        Skärmbild som visar Logic Apps Designer med service bus-anslutningssträngen angiven.

    4. 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 avsnittet 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 tecknet och välj sedan Lägg till en åtgärd.

  2. Sök efter och välj sedan För var och en.

    Skärmbild som visar For-each-operationen vald.

  3. För Välj utdata från föregående steg väljer du blixten eller anger / och väljer Infoga dynamiskt innehåll.

  4. Välj Body 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 loopen För varje väljer du +och väljer sedan Lägg till en åtgärd.

    Skärmbild som visar valet av + knapp i for-each-loopen.

  2. Sök efter Office 365 och välj sedan Visa mer.

  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. I brödtexten väljer du uttrycket eller anger / och väljer Infoga uttryck.

    4. Ange följande uttryck:

      base64ToString(items('For_each')?['ContentData'])
      
    5. Välj Lägg till.

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

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

  1. I loopen För varje väljer du +och väljer sedan Lägg till en åtgärd.

    1. Sök efter Service Bus.

    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. I Lås token för meddelandet väljer du uttrycket eller anger / och väljer Infoga uttryck.

    6. Välj Dynamiskt innehåll och välj Lås token. Välj Lägg till.

      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 en utformad logikapp.

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. Gå till sidan Översikt för logikappen. Välj sedan fliken Körningshistorik i det nedre fönstret. Du ser att logikappen bearbetar meddelanden som skickades till ämneskategorin. Det kan ta några minuter innan du ser att logikapplikationen 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 fem 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 ämnesprenumerationen.

Felsökning

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örs MessageSender-programmet en gång, så det finns fem meddelanden.

    Skärmbild som visar sidan Service Bus-ämne där antalet inkommande meddelanden är 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.