Delen via


Zelfstudie: Reageren op Azure Service Bus-gebeurtenissen die zijn ontvangen met behulp van Azure Event Grid met behulp van Azure Logic Apps

In deze zelfstudie leert u hoe u kunt reageren op Azure Service Bus-gebeurtenissen die worden ontvangen met behulp van Azure Event Grid met behulp van Azure Logic Apps.

Vereiste voorwaarden

Als u geen Azure-abonnement hebt, maakt u een gratis account voordat u begint.

Een Service Bus-naamruimte maken

Volg de instructies in deze zelfstudie: Quickstart: Gebruik Azure Portal om een Service Bus-onderwerp en abonnementen voor het onderwerp te maken om de volgende taken uit te voeren:

  • Een premium Service Bus-naamruimte maken.
  • Haal de verbindingsreeks op.
  • Een Service Bus-onderwerp maken.
  • Een abonnement op het onderwerp maken. In deze zelfstudie hebt u slechts één abonnement nodig. U hoeft de abonnementen S2 en S3 dus niet te maken.

Berichten kunt verzenden naar Service Bus-onderwerp

In deze sectie gebruikt u een voorbeeldtoepassing om berichten te verzenden naar het Service Bus-onderwerp dat u in de vorige sectie hebt gemaakt.

  1. Kloon de GitHub azure-service-bus-opslagplaats of download het zip-bestand en extraheer er bestanden uit.

  2. Ga in Visual Studio naar de map \samples\DotNet\Azure.Messaging.ServiceBus\ServiceBus\ServiceBusEventGridIntegrationV2 en open het bestand SBEventGridIntegration.sln .

  3. Vouw in het venster Solution Explorer het MessageSender-project uit en selecteer Program.cs.

  4. Vervang <SERVICE BUS NAMESPACE - CONNECTION STRING> door de verbindingstekenreeks voor uw Service Bus-naamruimte en <TOPIC NAME> door de naam van het onderwerp.

    const string ServiceBusConnectionString = "<SERVICE BUS NAMESPACE - CONNECTION STRING>";
    const string TopicName = "<TOPIC NAME>";
    
  5. Bouw en voer het programma uit om vijf testberichten (const int numberOfMessages = 5;) naar het Service Bus-onderwerp te verzenden.

    Schermopname van de uitvoer van de console-app, waarin vijf berichten worden verzonden.

Berichten ontvangen met behulp van Logic Apps

In deze sectie maakt u een logische Azure-app die Service Bus-gebeurtenissen ontvangt met behulp van Azure Event Grid.

  1. Selecteer + Een resource maken, selecteer Integratie en selecteer vervolgens Logische app.

    Schermopname van het menu Een logische app voor resourceintegratie >> maken.

  2. Voer op de pagina Logische app maken de volgende stappen uit:

    1. Selecteer de optieMultitenant> en kies Selecteren.

    2. Selecteer uw Azure-abonnement.

    3. Voer een resourcegroep in. Selecteer de resourcegroep die u hebt gebruikt voor andere resources, zoals de Service Bus-naamruimte, die u eerder hebt gemaakt.

    4. Voer een naam in voor de logische app.

    5. Selecteer de regio voor de logic app.

    6. Selecteer Beoordelen en Creëren.

      Schermopname van de pagina Een logische app maken.

    7. Selecteer op de pagina Beoordelen en maken de optie Maken om de logica-app te maken.

  3. Selecteer op de pagina Implementatie voltooidde optie Ga naar de resource om naar de pagina logische app te navigeren.

Een stap toevoegen voor het ontvangen van berichten van Service Bus met behulp van Event Grid

  1. Vouw Ontwikkelhulpprogramma's uit en selecteer Sjablonen voor logische apps.

    Schermopname van de ontwerppagina van de logische app met de optie Lege werkstroom geselecteerd.

  2. Selecteer Lege werkstroom. De ontwerpfunctie voor logische apps wordt geopend.

  3. Voer in de ontwerpfunctie de volgende stappen uit:

    1. Selecteer Een trigger toevoegen en zoek vervolgens naar Event Grid.

    2. Selecteer Wanneer een resource-gebeurtenis plaatsvindt.

      Schermopname van logic apps Designer met Event Grid-trigger geselecteerd.

  4. Selecteer Aanmelden.

    Schermopname van logic apps Designer met de knop Aanmelden geselecteerd.

  5. Selecteer op de pagina Aanmelden bij uw account het account dat u wilt gebruiken om u aan te melden bij Azure.

  6. Voer op de pagina Wanneer een resource-gebeurtenis plaatsvindt de volgende stappen uit:

    1. Voor resourcetype selecteert u Microsoft.ServiceBus.Namespaces.

    2. Selecteer uw Azure-abonnement.

    3. Voor Resource Name, selecteer uw Service Bus-naamruimte.

    4. Selecteer onder Geavanceerde parameters de pijl-omlaag.

    5. Selecteer Achtervoegselfilter en verplaats vervolgens de focus buiten de vervolgkeuzelijst.

      Schermopname van het toevoegen van een nieuwe parameter van het type Achtervoegselfilter.

    6. Voer bij Suffix Filter de naam van uw Service Bus-onderwerpabonnement in.

      Schermopname van logic apps Designer met verbindingsconfiguratie voor de Service Bus-naamruimte.

  7. Selecteer het + teken en selecteer vervolgens Een actie toevoegen.

    1. Zoek naar Service Bus.

      Schermopname van de selectie van Service Bus.

    2. Selecteer Meer weergeven en selecteer Vervolgens Berichten ophalen uit een onderwerpabonnement (peek-lock).>

      Schermopname van Logic Apps Designer met Berichten ophalen uit een topicabonnement geselecteerd.

    3. Volg deze stappen:

      1. Geef een naam op voor de verbinding. Bijvoorbeeld: Berichten ophalen uit het onderwerpabonnement.

      2. Controleer of Verificatietype is ingesteld op Toegangssleutel.

      3. Kopieer en plak voor verbindingsreeks de verbindingsreeks in de Service Bus-naamruimte die u eerder hebt opgeslagen.

      4. Selecteer Nieuwe maken.

        Een schermopname van Logic Apps Designer met de opgegeven Service Bus-verbindingsreeks.

    4. Selecteer uw onderwerp en abonnement.

      Schermopname van Logic Apps Designer met het Service Bus-onderwerp en het opgegeven abonnement.

Een stap toevoegen om ontvangen berichten te verwerken en te voltooien

In deze sectie voegt u stappen toe om het ontvangen bericht in een e-mailbericht te verzenden en vervolgens het bericht te voltooien. In een praktijkscenario verwerkt u een bericht in de logische app voordat u het bericht voltooit.

Een foreach-lus toevoegen

  1. Selecteer het + teken en selecteer vervolgens Een actie toevoegen.

  2. Zoek vervolgens en selecteer Voor elk.

    Schermopname van de geselecteerde for-each-bewerking.

  3. Als u een uitvoer van de vorige stappen wilt selecteren, selecteert u de bliksemschicht of voert u in / en selecteert u Dynamische inhoud invoegen.

  4. Selecteer Hoofdtekst onder Berichten ophalen uit een onderwerpabonnement (peek-lock).

    Schermopname van de selectie van Voor elke invoer.

Een stap in de foreach-lus toevoegen om een e-mailbericht te verzenden met de hoofdtekst van het bericht

  1. In de Voor elke lus, selecteer + en selecteer vervolgens Een actie toevoegen.

    Schermopname die de selectie van de + knop in de Voor elke lus toont.

  2. Zoek naar Office 365 en selecteer Meer weergeven.

  3. Selecteer Office 365 Outlook in de zoekresultaten.

    Schermopname van de selectie van Office 365.

  4. Selecteer een e-mail verzenden (V2) in de lijst met acties.

    Schermopname van de selectie van Een e-mailbewerking verzenden.

  5. Selecteer Aanmelden en volg de stappen om een verbinding met Office 365 Outlook te maken.

  6. Voer in het venster Een e-mail verzenden (V2) de volgende stappen uit:

  7. Selecteer in het tekstvak voor hoofdtekst en voer de volgende stappen uit:

    1. Voor Aan, voer een e-mailadres in.

    2. Voer voor Onderwerphet bericht in dat is ontvangen van het Service Bus-onderwerpabonnement.

    3. Selecteer in de hoofdtekst de expressie of voer de expressie in / en selecteer Expressie invoegen.

    4. Voer de volgende expressie in:

      base64ToString(items('For_each')?['ContentData'])
      
    5. Selecteer Toevoegen.

      Schermopname van de expressie voor de inhoud van de activiteit

Een andere actie toevoegen in de foreach-lus om het bericht te voltooien

  1. In de Voor elke lus, selecteer + en selecteer vervolgens Een actie toevoegen.

    1. Zoek naar Service Bus.

    2. Selecteer Bericht voltooien in een onderwerpabonnement uit de lijst met acties.

      Schermopname van de selectie van Een bericht voltooien in een onderwerpabonnement.

    3. Selecteer uw Service Bus-onderwerp.

    4. Selecteer een abonnement op het onderwerp.

    5. Selecteer in Het vergrendelingstoken van het bericht de expressie of voer de expressie in / en selecteer Expressie invoegen.

    6. Selecteer Dynamische inhoud en selecteer vergrendelingstoken. Selecteer Toevoegen.

      Schermopname van het veld Vergrendelingstoken.

  2. Selecteer Opslaan op de werkbalk in logic apps Designer om de logische app op te slaan.

    Schermopname van de knop Opslaan in de Logic app die ontworpen is.

De app testen

  1. Als u nog geen testberichten naar het onderwerp hebt verzonden, volgt u de instructies in de sectie Berichten verzenden naar het Service Bus-onderwerp om berichten naar het onderwerp te verzenden.

  2. Navigeer naar de pagina Overzicht van uw logische app. Selecteer vervolgens het tabblad Uitvoeringsgeschiedenis in het onderste deelvenster. U ziet dat de logic app berichten uitvoert die naar de topic zijn verzonden. Het kan enkele minuten duren voordat de logic-app wordt uitgevoerd. Selecteer Vernieuwen op de werkbalk om de pagina te vernieuwen.

    Schermopname van de uitvoeringsgeschiedenis van de logische app.

  3. Selecteer een run van een logische app om de details te bekijken. Let op dat er vijf berichten in de for-lus zijn verwerkt.

    Schermopname van de details voor de geselecteerde logische app-uitvoering.

  4. U ontvangt een e-mailbericht voor elk bericht dat de logische app ontvangt.

    Schermopname van Outlook met de berichten die zijn ontvangen van het onderwerpabonnement.

Problemen oplossen

Als u, na een tijdje wachten en vernieuwen, nog steeds geen aanroepen ziet, volg dan deze stappen:

  1. Controleer of de berichten het Service Bus-onderwerp hebben bereikt. Zie de inkomende berichtenteller op de pagina Service Bus-onderwerp. In dit geval wordt de MessageSender-toepassing eenmaal uitgevoerd, dus er zijn vijf berichten.

    Schermopname van de pagina Service Bus-onderwerp met het aantal binnenkomende berichten geselecteerd.

  2. Controleer of er geen actieve berichten zijn in het Service Bus-abonnement.

    Als u geen gebeurtenissen op deze pagina ziet, controleert u of op de pagina Service Bus-abonnement geen actieve berichtentelling weergeeft. Als het aantal voor deze teller groter is dan nul, worden de berichten bij het abonnement om de een of andere reden niet doorgestuurd naar de handler-functie (handler voor gebeurtenisabonnement). Controleer of u het gebeurtenisabonnement juist hebt ingesteld.

    Schermopname van de pagina Service Bus-abonnement met het aantal actieve berichten geselecteerd.

  3. U ziet ook geleverde gebeurtenissen op de pagina Gebeurtenissen van de Service Bus-naamruimte.

    Schermopname van de pagina Gebeurtenissen van de Service Bus-naamruimte.

  4. U kunt ook zien dat de gebeurtenissen worden afgeleverd op de pagina Gebeurtenisabonnement. U kunt deze pagina openen door het gebeurtenisabonnement te selecteren op de pagina Gebeurtenissen.

    Schermopname van de pagina Gebeurtenisabonnement met het aantal geleverde gebeurtenissen geselecteerd.