Zelfstudie: Reageren op Azure Service Bus-gebeurtenissen die zijn ontvangen via Azure Event Grid met behulp van Azure Logic Apps
In deze zelfstudie leert u hoe u kunt reageren op Azure Service Bus-gebeurtenissen die via Azure Event Grid worden ontvangen met behulp van Azure Logic Apps.
Vereisten
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 stap gebruikt u een voorbeeldtoepassing om berichten te verzenden naar het Service Bus-onderwerp dat u in de vorige stap hebt gemaakt.
Kloon de GitHub azure-service-bus-opslagplaats of download het zip-bestand en extraheer er bestanden uit.
Ga in Visual Studio naar de map \samples\DotNet\Azure.Messaging.ServiceBus\ServiceBus\ServiceBusEventGridIntegrationV2 en open het bestand SBEventGridIntegration.sln .
Vouw in het venster Solution Explorer het project MessageSender uit en selecteer Program.cs.
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>";
Bouw en voer het programma uit om vijf testberichten (
const int numberOfMessages = 5;
) te verzenden naar het Service Bus-onderwerp.
Berichten ontvangen met behulp van Logic Apps
In deze stap maakt u een Azure Logic-app die Service Bus-gebeurtenissen ontvangt via Azure Event Grid.
Selecteer + Een resource maken, selecteer Integratie en selecteer Logische app.
Voer op de pagina Logische app maken de volgende stappen uit:
- Selecteer uw Azure-abonnement.
- Selecteer Bestaande gebruiken voor de Resourcegroep en selecteer de resourcegroep die u hebt gebruikt voor andere resources (zoals Azure-functie, Service Bus-naamruimte) die u eerder hebt gemaakt.
- Voer een naam in voor de logische app.
- Selecteer de regio voor de logische app.
- Selecteer Verbruik bij Type abonnement.
- Selecteer Controleren + maken.
- Selecteer Maken op de pagina Beoordelen en maken op de logische app te maken.
Selecteer op de pagina Implementatie voltooid de optie Ga naar de resource om naar de pagina logische app te navigeren.
Op de pagina Ontwerper van logische apps selecteert u Lege logische app onder Sjablonen.
Een stap toevoegen die berichten ontvangt van Service Bus via Event Grid
Selecteer op de pagina logische app de ontwerpfunctie voor logische apps in het linkermenu.
Selecteer in het rechterdeelvenster onder Sjablonen lege logische app.
Voer in de ontwerper de volgende stappen uit:
Zoek naar Event Grid.
Selecteer Wanneer een resourcegebeurtenis optreedt - Azure Event Grid.
Selecteer Aanmelden.
Selecteer op de pagina Aanmelden bij uw account het account dat u wilt gebruiken om u aan te melden bij Azure. 1.
Voer de volgende stappen uit op de pagina Wanneer een resourcegebeurtenis zich voordoet:
Selecteer uw Azure-abonnement.
Voor Resourcetype selecteert u Microsoft.ServiceBus.Namespaces.
Voor Resourcenaam selecteert u uw Service Bus-naamruimte.
Selecteer Nieuwe parameter toevoegen, selecteer Achtervoegselfilter en verplaats vervolgens de focus buiten de vervolgkeuzelijst.
Voer voor achtervoegselfilter de naam in van uw Service Bus-onderwerpabonnement.
Selecteer + Nieuwe stap in de ontwerper en voer de volgende stappen uit:
Zoek naar Service Bus.
Selecteer Service Bus in de lijst.
Selecteer voor Berichten ophalen in de lijst Acties.
Selecteer Berichten van een onderwerpabonnement ontvangen (kort weergeven).
Volg vervolgens deze stappen:
Geef een naam voor de verbinding op. Bijvoorbeeld: Berichten ophalen uit het onderwerpabonnement.
Controleer of verificatietype is ingesteld op Toegangssleutel.
Kopieer en plak de verbindingsreeks voor Verbinding maken tekenreeks in de Service Bus-naamruimte die u eerder hebt opgeslagen.
Selecteer Maken.
Selecteer uw onderwerp en abonnement.
Een stap toevoegen om ontvangen berichten te verwerken en te voltooien
In deze stap 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
Selecteer + Nieuwe stap.
Zoek en selecteer Vervolgens Control.
Selecteer voor elk item in de lijst Acties.
Als u een uitvoer van de vorige stappen wilt selecteren (klik in het tekstvak indien nodig), selecteert u Hoofdtekst onder Berichten ophalen uit een onderwerpabonnement (peek-lock).
Een stap in de foreach-lus toevoegen om een e-mailbericht te verzenden met de hoofdtekst van het bericht
Selecteer Een actie toevoegen in Voor elke lus.
Voer Office 365 in het tekstvak Connectors en acties zoeken in.
Selecteer Office 365 Outlook in de zoekresultaten.
Selecteer een e-mail verzenden (V2) in de lijst met acties.
Selecteer Aanmelden en volg de stappen om een verbinding met Office 365 Outlook te maken.
Voer in het venster Een e-mail verzenden (V2) de volgende stappen uit:
Selecteer in het tekstvak voor hoofdtekst en voer de volgende stappen uit:
Voer een e-mailadres in voor Aan.
Voer voor Onderwerp het bericht in dat is ontvangen van het Service Bus-onderwerpabonnement.
Schakel over naar Expressie.
Voer de volgende expressie in:
base64ToString(items('For_each')?['ContentData'])
Selecteer OK.
Een andere actie toevoegen in de foreach-lus om het bericht te voltooien
Selecteer Een actie toevoegen in Voor elke lus.
Selecteer Service Bus in de lijst Recent .
Selecteer Het bericht in een onderwerp met een abonnement voltooien in de lijst met acties.
Selecteer uw Service Bus-onderwerp.
Selecteer een abonnement op het onderwerp.
Selecteer voor Vergrendelingstoken van het bericht de optie Vergrendelingstoken van de Dynamische inhoud.
Selecteer Opslaan op de werkbalk van de Ontwerper voor logische apps om de logische app op te slaan.
De app testen
Als u nog geen testberichten naar het onderwerp hebt verzonden, volg dan de instructies in de sectie Berichten verzenden naar het Service Bus-onderwerp om berichten naar het onderwerp te verzenden.
Ga naar de pagina Overzicht van uw logische app en ga naar het tabblad Uitvoeringsgeschiedenis in het onderste deelvenster. U ziet dat de logische app berichten uitvoert die naar het onderwerp zijn verzonden. Het kan enkele minuten duren voordat u de uitvoeringen van de logische app ziet. Selecteer Vernieuwen op de werkbalk om de pagina te vernieuwen.
Selecteer een logische app-uitvoering om de details te zien. U ziet dat er 5 berichten zijn verwerkt in de for-lus.
U ontvangt een e-mailbericht voor elk bericht dat de logische app ontvangt.
Problemen oplossen
Als u geen aanroepen ziet na enige tijd wachten en vernieuwen, voert u de volgende stappen uit:
Controleer of de berichten het Service Bus-onderwerp hebben bereikt. Zie de inkomende berichtenteller op de pagina Service Bus-onderwerp. In dit geval heb ik de Toepassing MessageSender één keer uitgevoerd, dus ik zie vijf berichten.
Controleer of er geen actieve berichten bij het Service Bus-abonnement staan. 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 op de juiste manier hebt ingesteld.
U ziet ook geleverde gebeurtenissen op de pagina Gebeurtenissen van de Service Bus-naamruimte.
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.
Volgende stappen
- Meer informatie over Azure Event Grid.
- Meer informatie over Azure Functions.
- Meer informatie over de Logic Apps-functie van Azure App Service.
- Meer informatie over Azure Service Bus.