Zelfstudie: Wijzigingen in virtuele machines bewaken met Azure Event Grid en Logic Apps

Als u specifieke gebeurtenissen in Azure-resources of resources van derden wilt bewaken en erop wilt reageren, kunt u een geautomatiseerde werkstroom voor logische apps maken met minimale code met behulp van Azure Logic Apps. U kunt deze resources gebeurtenissen laten publiceren naar een Azure Event Grid. Het gebeurtenisraster verstuurt die gebeurtenissen vervolgens naar abonnees die webhooks, wachtrijen of gebeurtenishubs als eindpunt hebben. Als abonnee wacht uw werkstroom totdat deze gebeurtenissen in het gebeurtenisraster binnenkomen voordat de stappen voor het verwerken van de gebeurtenissen worden uitgevoerd.

Dit zijn enkele voorbeelden van gebeurtenissen die uitgevers naar abonnees kunnen versturen via de service Azure Event Grid:

  • Maken, lezen, bijwerken of verwijderen van een resource. U kunt bijvoorbeeld controleren op wijzigingen die extra kosten op uw Azure-abonnement tot gevolg kunnen hebben en dus van invloed zijn op de hoogte van uw factuur.

  • Toevoegen of verwijderen van een persoon uit een Azure-abonnement.

  • Uitvoeren van een bepaalde actie door uw app.

  • Nieuw bericht in een wachtrij.

In deze zelfstudie maakt u een logische app-resource die wordt uitgevoerd in een multi-tenant Azure Logic Apps is gebaseerd op het prijsmodel Consumption. Met behulp van deze logische app-resource maakt u een werkstroom waarmee wijzigingen in een virtuele machine worden bewaakt en e-mailberichten over deze wijzigingen worden verzonden. Wanneer u een werkstroom maakt die een gebeurtenisabonnement op een Azure-resource heeft, stromen gebeurtenissen van die resource via een gebeurtenisraster naar de werkstroom. Voor meer informatie over multi-tenant versus single-tenant Azure Logic Apps, bekijkt u Een tenant versus multi-tenant en integratieserviceomgeving.

Schermopname van de werkstroomontwerper met een werkstroom die een virtuele machine bewaakt met behulp Azure Event Grid.

In deze zelfstudie leert u het volgende:

  • Maak een resource en werkstroom voor logische apps die gebeurtenissen uit een gebeurtenisraster bewaakt.
  • Een voorwaarde toevoegen die specifiek controleert op wijzigingen van de virtuele machine.
  • Een e-mail verzenden wanneer de virtuele machine wordt gewijzigd.

Vereisten

  • Een Azure-account en -abonnement. Als u nog geen abonnement op Azure hebt, registreer u dan nu voor een gratis Azure-account.

  • Een e-mailaccount van een e-mailservice dat werkt met Azure Logic Apps voor het verzenden van meldingen, zoals Office 365 Outlook, Outlook.com of Gmail. Voor andere providers kunt u hier de lijst met connectors bekijken.

    In deze zelfstudie wordt gebruikgemaakt van een Office 365 Outlook-account. Als u een ander e-mailaccount gebruikt, blijven de algemene stappen gelijk, maar uw gebruikersinterface kan er iets anders uitzien.

    Belangrijk

    Als u de Gmail-connector wilt gebruiken, kunnen alleen bedrijfsaccounts van G Suite deze connector zonder beperking in logische apps gebruiken. Als u een Gmail-consumentenaccount hebt, kunt u deze connector alleen gebruiken met specifieke door Google goedgekeurde services, of u kunt een Google-client-app maken voor verificatie bij uw Gmail-connector. Zie Beleid voor gegevensbeveiliging en privacybeleid voor Google-connectors in Azure Logic Apps voor meer informatie.

  • Een virtuele machine die zich in een eigen Azure-resourcegroep bevindt. Als u dit nog niet hebt gedaan, maakt u een virtuele machine aan de hand van de zelfstudie Een VM maken. U hoeft verder niets te doen om gebeurtenissen te laten publiceren door de virtuele machine.

  • Als u een firewall hebt die verkeer beperkt tot specifieke IP-adressen, stelt u uw firewall zo in dat toegang wordt toegestaan voor zowel de binnenkomende als uitgaande IP-adressen die worden gebruikt door Azure Logic Apps in de Azure-regio waar u de werkstroom voor uw logische app maakt.

    In dit voorbeeld worden beheerde connectors gebruikt waarvoor uw firewall toegang moet toestaan voor alle uitgaande IP-adressen van de beheerde connector in de Azure-regio voor uw logische app-resource.

Resource voor logische app maken

  1. Meld u met uw Azure-account aan bij Azure Portal.

  2. Selecteer in het hoofdmenu van Azure Een resource maken > Integratie > Logische app.

    Schermopname van de Azure-portal, met de knop voor het maken van een logische app-resource.

  3. Geef onder Logische app informatie op over de resource van de logische app. Als u gereed bent, selecteert u Maken.

    Schermopname van het menu voor het maken van logische apps, met details zoals de naam, het abonnement, de resourcegroep en de locatie.

    Eigenschap Vereist Waarde Beschrijving
    Naam Ja <naam-van-logische-app> Geef een unieke naam voor de logische app op.
    Abonnement Ja <Azure-subscription-name> Selecteer voor alle services in deze zelfstudie hetzelfde Azure-abonnement.
    Resourcegroep Ja <Azure-resource-group> De naam van de Azure-resourcegroep voor uw logische app. U kunt deze selecteren voor alle services in deze zelfstudie.
    Locatie Ja <Azure-regio> Selecteer dezelfde regio voor alle services in deze tutorial.
  4. Nadat Azure uw logische app heeft geĆÆmplementeerd, toont de werkstroomontwerper een pagina met een introvideo en veelgebruikte triggers. Scrol voorbij de video en triggers.

  5. Kies onder Sjablonen de optie Lege logische app.

    Schermopname van Logic Apps-sjablonen, met de selectie voor het maken van een lege logische app.

    In de werkstroomontwerper ziet u nu de triggers die u kunt gebruiken om uw logische app te starten. Elke logische app moet beginnen met een trigger, die wordt geactiveerd wanneer er een bepaalde gebeurtenis plaatsvindt of wanneer er aan een bepaalde voorwaarde is voldaan. Telkens wanneer de trigger wordt geactiveerd, maakt Azure Logic Apps een werkstroominstantie waarin uw logische app wordt uitgevoerd.

Event Grid-trigger toevoegen

Voeg nu de Event Grid-trigger toe, die u gebruikt om de resourcegroep voor de virtuele machine te bewaken.

  1. Voer in de ontwerpfunctie in het zoekvak event grid in. Selecteer in de lijst met triggers de trigger Wanneer een resourcegebeurtenis optreedt.

    Schermopname van de werkstroomontwerper met de geselecteerde Event Grid trigger.

  2. Wanneer dat wordt gevraagd, meldt u zich aan bij Azure Event Grid met de referenties voor uw Azure-account. In de lijst Tenant, waarin de Azure Active Directory-tenant wordt weergegeven die aan uw Azure-abonnement is gekoppeld, controleert u of de juiste tenant wordt weergegeven, bijvoorbeeld:

    Schermopname van de werkstroomontwerper met de Azure-aanmeldingsprompt om verbinding te maken met Event Grid.

    Notitie

    Als u zich aanmeldt met een persoonlijk Microsoft-account, zoals @outlook.com of @hotmail.com, wordt de trigger voor het gebeurtenisraster mogelijk niet juist weergegeven. Als tijdelijke oplossing kunt u Verbinding maken met service-principal selecteren of u laten verifiƫren als een lid van de Azure Active Directory die is gekoppeld aan uw Azure-abonnement, bijvoorbeeld gebruikersnaam@emailoutlook.onmicrosoft.com.

  3. Abonneer de logische app nu op gebeurtenissen van de uitgever. Geef de details van uw gebeurtenisabonnement op, zoals beschreven in de volgende tabel, bijvoorbeeld:

    Schermopname van de werkstroomontwerper met de editor voor triggerdetails geopend.

    Eigenschap Vereist Waarde Beschrijving
    Abonnement Ja <event-publisher-Azure-subscription-name> Selecteer de naam voor het Azure-abonnement dat is gekoppeld aan de gebeurtenisuitgever. Selecteer voor deze zelfstudie de naam van het Azure-abonnement voor uw virtuele machine.
    Resourcetype Ja <event-publisher-Azure-resource-type> Selecteer het Azure-resourcetype voor de gebeurtenisuitgever. Zie Azure-resourceproviders en -typen voor meer informatie over Azure-resourcetypen. Voor deze zelfstudie selecteert u de waarde Microsoft.Resources.ResourceGroups voor het bewaken van Azure-resourcegroepen.
    Resourcenaam Ja <event-publisher-Azure-resource-name> Selecteer de naam van de Azure-resource voor de gebeurtenisuitgever. Deze lijst varieert met het resourcetype dat u hebt geselecteerd. Selecteer voor deze zelfstudie de naam van de Azure-resourcegroep dat uw virtuele machine bevat.
    Item van gebeurtenistype Nee <event-types> Selecteer een of meer specifieke gebeurtenistypen om te filteren en naar uw gebeurtenisraster te verzenden. Eventueel kunt u deze gebeurtenistypen toevoegen om te kunnen detecteren wanneer resources worden gewijzigd of verwijderd:

    - Microsoft.Resources.ResourceActionSuccess
    - Microsoft.Resources.ResourceDeleteSuccess
    - Microsoft.Resources.ResourceWriteSuccess

    Raadpleeg de volgende onderwerpen voor meer informatie:

    - Azure Event Grid-gebeurtenisschema voor resourcegroepen
    - Inzicht in het filteren van gebeurtenissen
    - Gebeurtenissen filteren voor Event Grid

    Als u nieuwe, optionele eigenschappen wilt toevoegen, selecteert u Nieuwe parameter toevoegen en selecteert u vervolgens de gewenste eigenschappen. Nee {zie de beschrijvingen} * Voorvoegselfilter: Laat in deze zelfstudie deze eigenschap leeg. Het standaardgedrag komt overeen met alle waarden. U kunt echter een voorvoegseltekenreeks opgeven als een filter, bijvoorbeeld een pad en een parameter voor een specifieke resource.

    * Achtervoegselfilter: Laat in deze zelfstudie deze eigenschap leeg. Het standaardgedrag komt overeen met alle waarden. U kunt echter een achtervoegseltekenreeks opgeven als een filter, bijvoorbeeld een bestandsnaamextensie, als u alleen bepaalde bestandstypen wilt gebruiken.

    * Abonnementsnaam: Voor deze zelfstudie kunt u een unieke naam opgeven voor het gebeurtenisabonnement.

  4. Sla uw logische app op. Selecteer Opslaan op de werkbalk van de ontwerper. Selecteer de titelbalk van de actie om de details van een actie in uw logische app samen te vouwen en te verbergen.

    Schermopname van de werkstroomontwerper en de geselecteerde knop 'Opslaan'.

    Wanneer u uw logische app met een trigger voor het gebeurtenisraster opslaat, maakt Azure automatisch een gebeurtenisabonnement voor uw logische app voor de geselecteerde resource. Wanneer de resource nu een gebeurtenis naar het gebeurtenisraster publiceert, wordt die gebeurtenis automatisch door het raster naar de logische app verstuurd. Deze gebeurtenis triggert de logische app, en maakt vervolgens een exemplaar van de werkstroom die u in de volgende stappen definieert. Ten slotte wordt de werkstroom uitgevoerd.

Uw logische app is nu live en luistert naar gebeurtenissen uit het gebeurtenisraster, maar kan verder nog niks totdat u acties aan de werkstroom toevoegt.

Een voorwaarde toevoegen

Als u de logische app alleen wilt laten uitvoeren als er een bepaalde gebeurtenis of bewerking optreedt, voegt u een voorwaarde toe waarmee wordt gecontroleerd op de bewerking Microsoft.Compute/virtualMachines/write. Als aan deze voorwaarde wordt voldaan (is Waar), verstuurt de logische app een e-mail met meer gegevens van de bijgewerkte virtuele machine.

  1. Selecteer in de ontwerpfunctie van logische apps, onder de trigger voor het gebeurtenisraster, de optie Nieuwe stap.

    Schermopname van de werkstroomontwerper met 'Nieuwe stap' geselecteerd.

  2. Voer in het zoekvak onder Kies een actie condition in als uw filter. Selecteer in de lijst met acties de actie Voorwaarde.

    Schermopname van de werkstroomontwerper met Voorwaarde geselecteerd.

    Er wordt een lege voorwaarde voor uw werkstroom toegevoegd, inclusief de te volgen actiepaden wanneer de voorwaarde Waar of Onwaar is.

    Schermopname van de werkstroomontwerper met een lege voorwaarde toegevoegd aan de werkstroom.

  3. Wijzig de titel van de voorwaarde in If a virtual machine in your resource group has changed. Selecteer op de titelbalk van de voorwaarde het beletselteken ( ... ) en selecteer Naam wijzigen.

    Schermopname van de werkstroomontwerper met het contextmenu van de voorwaardeeditor en 'Naam wijzigen' geselecteerd.

  4. Maak een voorwaarde waarmee de body van een gebeurtenis wordt gecontroleerd op een data-object waar de eigenschap operationName gelijk is aan de bewerking Microsoft.Compute/virtualMachines/write. Lees hier meer over het gebeurtenisschema van Event Grid.

    1. Klink in het linkervakje in de eerste rij onder En. Selecteer in de lijst met dynamische inhoud die wordt weergegeven de optie Expressie.

      Schermopname van de werkstroomontwerper met de actie voorwaarde en de lijst met dynamische inhoud geopend met 'Expressie' geselecteerd.

    2. Voer deze expressie in de expressie-editor in, waarna de naam van de bewerking vanuit de trigger wordt geretourneerd. Selecteer vervolgens OK:

      triggerBody()?['data']['operationName']

      Bijvoorbeeld:

      Schermopname van Logic Apps Designer, met de voorwaarde-editor met de expressie voor het extraheren van de naam van de bewerking.

    3. In het middelste vakje behoud u is gelijk aan voor de operator.

    4. Voer deze waarde in het rechtervak in. Dit is de specifieke bewerking die u bewaakt:

      Microsoft.Compute/virtualMachines/write

    De voltooide voorwaarde ziet er nu uit als in dit voorbeeld:

    Schermopname van de werkstroomontwerper met een voorwaarde die de bewerking vergelijkt.

    Als u van de ontwerpweergave naar de codeweergave schakelt en weer terug naar de ontwerpweergave, wordt de expressie die u in de voorwaarde hebt opgegeven, omgezet naar het token data.operationName:

    Schermopname van de werkstroomontwerper met een voorwaarde die tokens heeft opgelost.

  5. Sla uw logische app op.

E-mailmeldingen verzenden

U voegt nu een actie toe, zodat u een e-mail kunt ontvangen wanneer aan de opgegeven voorwaarde wordt voldaan.

  1. Selecteer Een actie toevoegen in het vak Indien waar van de voorwaarde.

    Schermopname van de werkstroomontwerper met het deelvenster Indien waar van de voorwaarde geopend en 'Een actie toevoegen' geselecteerd.

  2. Voer in het zoekvak onder Kies een actie send an email in als uw filter. Zoek en selecteer de bijbehorende connector op basis van uw e-mailprovider. Selecteer vervolgens de actie 'e-mail verzenden' voor de connector. Bijvoorbeeld:

    • Selecteer voor een werk- of schoolaccount van Azure de Office 365 Outlook-connector.

    • Selecteer voor een persoonlijk Microsoft-account de Outlook.com-connector.

    • Selecteer voor een Gmail-account de Gmail-connector.

    Deze zelfstudie wordt vervolgd met de Office 365 Outlook-connector. Als u een andere provider gebruikt, blijven de stappen gelijk, maar uw gebruikersinterface kan er iets anders uitzien.

    Schermopname van de werkstroomontwerper met het zoekvak geopend om de actie 'Een e-mail verzenden' te vinden.

  3. Als u nog geen verbinding voor uw e-mailprovider hebt, meldt u zich aan bij uw e-mailaccount wanneer er om verificatie wordt gevraagd.

  4. Geef de actie E-mail verzenden de volgende titel: Send email when virtual machine updated

  5. Geef informatie op voor het e-mailbericht, zoals aangegeven in de volgende tabel:

    Schermopname van de werkstroomontwerper met dynamische inhoud die wordt toevoegen aan de onderwerpregel voor e-mail voor een voorwaarde waar.

    Tip

    Als u uitvoer van de vorige stappen in uw werkstroom wilt selecteren, klikt u in een bewerkingsvak, zodat de lijst met dynamische inhoud wordt weergegeven. U kunt ook Dynamische inhoud toevoegen selecteren. Als u meer resultaten wilt zien, selecteert u Meer weergeven voor elke sectie in de lijst. U kunt de lijst met dynamische inhoud sluiten door opnieuw Dynamische inhoud toevoegen te selecteren.

    Eigenschap Vereist Waarde Beschrijving
    Aan Ja <recipient@domain> Voer het e-mailadres van de ontvanger in. Voor testdoeleinden kunt u uw eigen e-mailadres gebruiken.
    Onderwerp Ja Resource updated: Onderwerp Voer de inhoud van het onderwerp van de e-mail in. Voor deze zelfstudie voert u de opgegeven tekst in en selecteert u het veld Onderwerp van de gebeurtenis. Hier bevat het onderwerp van de e-mail de naam voor de bijgewerkte resource (virtuele machine).
    Hoofdtekst Ja Resource: Onderwerp

    Event type: Gebeurtenistype

    Event ID: Id

    Time: Tijdstip van gebeurtenis

    Voer de inhoud voor de hoofdtekst van de e-mail in. Voor deze zelfstudie voert u de opgegeven tekst in en selecteert u de velden Onderwerp, Gebeurtenistype, Id en Tijdstip van gebeurtenis van de gebeurtenis, zodat uw e-mailbericht de resource bevat waarmee de gebeurtenis is geactiveerd, evenals het gebeurtenistype, het tijdstempel van de gebeurtenis en de gebeurtenis-id voor de update. Voor deze zelfstudie is de resource de Azure-resourcegroep die in de trigger is geselecteerd.

    U kunt lege regels toevoegen aan de inhoud door op Shift+Enter te drukken.

    Notitie

    Als u een veld selecteert dat een matrix vertegenwoordigt, wordt in de ontwerpfunctie automatisch een lus Voor elke toegevoegd rond de actie die naar de matrix verwijst. Op die manier wordt de actie uitgevoerd voor elk matrixitem.

    De e-mailactie ziet er nu ongeveer uit zoals in dit voorbeeld:

    Schermopname van de ontwerpfunctie voor werkstromen met geselecteerde uitvoer die als e-mail moet worden verzonden wanneer de VM wordt bijgewerkt.

    De voltooide logische app ziet er dan ongeveer zo uit:

    Schermopname van de werkstroomontwerper met voltooide logische app en details voor triggers en acties.

  6. Sla uw logische app op. Selecteer de titelbalk van de actie om de details van een actie in uw logische app samen te vouwen en te verbergen.

    Uw logische app is nu live, maar er wordt gewacht op wijzigingen van de virtuele machine voordat er iets gebeurt. Ga door naar de volgende sectie als u de logische app nu wilt testen.

De werkstroom van uw logische app testen

  1. Om te controleren of uw logische app de opgegeven gebeurtenissen ontvangt, moet u de virtuele machine bijwerken.

    U kunt bijvoorbeeld de virtuele machine het ize geven.

    Binnen enkele ogenblikken moet u dan een e-mailbericht krijgen. Bijvoorbeeld:

    Schermopname van voorbeeld-e-mail in Outlook, met detailgegevens van de update van de VM.

  2. Als u de uitvoerings- en triggergeschiedenis van de logische app wilt bekijken, selecteert u Overzicht in het menu van de logische app. Als u meer details over een run wilt bekijken, selecteert u de rij voor die run.

    Schermopname van de overzichtspagina van de logische app, met een geslaagde uitvoering geselecteerd.

  3. Als u de in- en uitvoer van elke stap wilt bekijken, vouwt u de stap uit die u wilt bekijken. Aan de hand van deze gegevens kunt u problemen met de logische app vaststellen en oplossen.

    Schermopname van de uitvoeringsgeschiedenis van de logische app, met detailgegevens van elke uitvoering.

U hebt nu een logische app gemaakt en uitgevoerd die resourcegebeurtenissen controleert met behulp van een gebeurtenisraster en u een e-mailbericht stuurt wanneer deze gebeurtenissen optreden. Daarnaast hebt u geleerd hoe eenvoudig het is om werkstromen te maken voor het automatiseren van processen en hoe u systemen en cloudservices kunt integreren.

U kunt andere configuratiewijzigingen bewaken met gebeurtenisrasters en logische apps, zoals:

  • Een virtuele machine krijgt rechten via Azure-toegangsbeheer op basis van rollen (Azure RBAC).
  • Een netwerkbeveiligingsgroep (NSG) op een netwerkinterface (NIC) wordt gewijzigd.
  • Schijven voor een virtuele machine worden toegevoegd of verwijderd.
  • Er wordt een openbaar IP-adres toegewezen aan de NIC van een virtuele machine.

Resources opschonen

In deze zelfstudie worden resources gebruikt en acties uitgevoerd die kosten voor uw Azure-abonnement met zich mee kunnen brengen. Als u klaar bent met de zelfstudie en het testen, denkt u er dan aan dat u resources waarvoor u geen kosten wilt maken, uitschakelt of verwijdert.

  • Als u uw logische app niet meer wilt uitvoeren, maar uw werk niet wilt verwijderen, schakelt u uw app uit. Selecteer Overzicht in het menu van de logische app. Selecteer Uitschakelen op de werkbalk.

    Schermopname van het overzicht van een logische app, waarin de knop Uitschakelen is geselecteerd om de logische app uit te schakelen.

    Tip

    Als u het menu van de logische app niet ziet, probeer dan terug te gaan naar het Azure-dashboard. Open uw logische app dan opnieuw.

  • Als u de logische app permanent wilt verwijderen, selecteert u Overzicht in het menu van de logische app. Selecteer Verwijderen op de werkbalk. Bevestig dat u uw logische app wilt verwijderen en selecteer vervolgens Verwijderen.

Volgende stappen

Zie de volgende voorbeelden voor meer informatie over het publiceren van gebeurtenissen naar en het gebruik van gebeurtenissen Event Grid verschillende programmeertalen.