Zelfstudie: Reageren op Azure Service Bus-gebeurtenissen die via Azure Event Grid worden ontvangen 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: Snelstart: De Azure-portal gebruiken om een Service Bus-onderwerp en abonnementen te maken voor het onderwerp om de volgende taken uit te voeren:
- Een premium Service Bus-naamruimte maken.
- De verbindingsreeks ophalen.
- 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 extraheren er bestanden uit.
Ga Visual Studio naar de map \samples\DotNet\Azure.Messaging.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.
- Maak een logische app in de Azure Portal.
- Selecteer + Een resource maken, selecteer Integratie en selecteer Logische app.
- 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.
- Bij Type selecteert u Verbruik.
- Voer een naam in voor de logische app.
- Selecteer de Regio voor de logische app.
- 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 resource.
- Op de pagina Ontwerper van logische apps selecteert u Lege logische app onder Sjablonen.
Een stap toevoegen voor het ontvangen van berichten Service Bus via Event Grid
- Voer in de ontwerper de volgende stappen uit:
Zoek naar Event Grid.
Selecteer Wanneer een resourcegebeurtenis optreedt - Azure Event Grid.

- Selecteer Aanmelden, voer uw Azure-referenties in en selecteer Toegang toestaan.
- 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 bij 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) .

Geef een naam voor de verbinding op. Bijvoorbeeld: Ontvang berichten van het onderwerp-abonnement en selecteer de Service Bus-naamruimte.

Selecteer RootManageSharedAccessKey en selecteer vervolgens 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 het bericht vervolgens te voltooien. In een echt scenario verwerkt u een bericht in de logische app voordat u het bericht voltooit.
Een foreach-lus toevoegen
Selecteer + Nieuwe stap.
Zoek en selecteer vervolgens Besturingselement.
Selecteer in de lijst Acties voor elke.
Voor Selecteer een uitvoer uit de vorige stappen (klik zo nodig in het tekstvak) selecteert u Hoofdtekst onder Berichten van een onderwerpabonnement ontvangen (peek-lock).
Voeg een stap toe in de foreach-lus om een e-mailbericht te verzenden met de hoofd tekst van het bericht
Selecteer binnen De lus Voor elke de optie Een actie toevoegen.
Voer in het tekstvak Connectors en acties doorzoeken de Office 365.
Selecteer Office 365 Outlook in de zoekresultaten.
Selecteer Een e-mail verzenden (V2) in de lijst met acties.
Volg deze stappen in het venster Een e-mail verzenden (V2) :
Selecteer in het tekstvak voor Hoofdtekst en volg deze stappen:
Voer bij Aan een e-mailadres in.
Bij Onderwerp voert u Bericht ontvangen van Service Bus abonnement van het onderwerp in.
Schakel over naar Expressie.
Voer de volgende expressie in:
base64ToString(items('For_each')?['ContentData'])Selecteer OK.
Voeg nog een actie toe aan de foreach-lus om het bericht te voltooien
Selecteer binnen De lus Voor elke de optie Een actie toevoegen.
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 vervolgens naar het tabblad Geschiedenis van runs in het onderste deelvenster. U ziet dat met de logische app berichten worden uitgevoerd 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-mail voor elk bericht dat door de logische app wordt ontvangen.
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 berichten teller op de pagina Service Bus-onderwerp. In dit geval heb ik de MessageSender -toepassing twee keer uitgevoerd, dus ik zie 10 berichten (5 berichten voor elke uitvoering).
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.