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

Van toepassing op: Azure Logic Apps (verbruik)

U kunt specifieke gebeurtenissen bewaken en erop reageren die plaatsvinden in Azure-resources of externe resources met behulp van Azure Event Grid en Azure Logic Apps. U kunt een geautomatiseerde werkstroom voor logische verbruiks-apps maken met minimale code met behulp van Azure Logic Apps. U kunt deze resources laten publiceren naar Azure Event Grid. Op zijn beurt pusht Azure Event Grid deze gebeurtenissen naar abonnees met wachtrijen, webhooks of Event Hubs als eindpunten. Als abonnee wacht uw werkstroom tot deze gebeurtenissen binnenkomen in Azure Event Grid voordat u de stappen uitvoert om de gebeurtenissen te verwerken.

Hier volgen bijvoorbeeld enkele gebeurtenissen die uitgevers kunnen verzenden naar abonnees via 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 resource voor logische apps verbruik die wordt uitgevoerd in multitenant Azure Logic Apps en is gebaseerd op het prijsmodel Verbruik. 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 met een gebeurtenisabonnement op een Azure-resource, stromen gebeurtenissen van die resource via Azure Event Grid naar de werkstroom.

Screenshot showing the workflow designer with a workflow that monitors a virtual machine using Azure Event Grid.

In deze zelfstudie leert u het volgende:

  • Maak een logische app-resource en -werkstroom waarmee gebeurtenissen vanuit Azure Event Grid worden 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 die 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, moet u uw firewall zo instellen dat toegang tot Azure Logic Apps via de firewall kan communiceren. U moet toegang toestaan voor zowel de binnenkomende als uitgaande IP-adressen die worden gebruikt door Azure Logic Apps in de Azure-regio waar u uw logische app maakt.

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

Een logische app-resource maken

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

  2. Selecteer op de startpagina van Azure een logische app voor resourceintegratie>> maken.

    Screenshot of Azure portal, showing button to create a logic app resource.

  3. Geef onder Logische app maken informatie op over uw logische app-resource:

    Screenshot of logic apps creation menu, showing details like name, subscription, resource group, and location.

    Eigenschappen Vereist Weergegeven als Beschrijving
    Abonnement Ja <Azure-abonnementnaam> 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.
    Naam van logische app Ja <naam-van-logische-app> Geef een unieke naam voor de logische app op.
    Publiceren Ja Werkstroom Selecteer de implementatiebestemming voor uw logische app. Voor deze zelfstudie moet u Werkstroom selecteren, die in Azure wordt geïmplementeerd.
    Regio Ja <Azure-regio> Selecteer dezelfde regio voor alle services in deze tutorial.
    Plantype Ja Verbruik Het resourcetype voor uw logische app. Zorg ervoor dat u Verbruik selecteert voor deze zelfstudie.

    Notitie

    Als u later de Azure Event Grid-bewerkingen wilt gebruiken met een Resource voor een standaard logische app, moet u ervoor zorgen dat u een stateful werkstroom maakt, niet een staatloze werkstroom. Deze zelfstudie is alleen van toepassing op logische apps voor verbruik, die een andere gebruikerservaring volgen. Als u Azure Event Grid-bewerkingen wilt toevoegen aan uw werkstroom in de ontwerpfunctie, moet u in het deelvenster Bewerkingenkiezer het tabblad Azure selecteren. Voor meer informatie over multitenant versus Azure Logic Apps met één tenant raadpleegt u de omgeving met één tenant versus multitenant en integratieservice.

  4. Selecteer als u klaar bent de optie Beoordelen en maken. Bevestig in het volgende deelvenster de opgegeven informatie en selecteer Maken.

  5. Nadat Azure uw logische app heeft geïmplementeerd, selecteert u Ga naar de resource.

    De werkstroomontwerper toont een pagina met een introductievideo en veelgebruikte triggers.

  6. Schuif door het videovenster en veelgebruikte triggersecties.

  7. Selecteer onder Sjablonen de optie Lege logische app.

    Notitie

    De galerie met werkstroomsjablonen is alleen beschikbaar voor logische apps voor verbruik, niet voor standaard logische apps.

    Screenshot showing Azure Logic Apps templates with selected

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

Een Azure Event Grid-trigger toevoegen

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

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

    Screenshot that shows the workflow designer with the selected Azure Event Grid trigger.

  2. Wanneer dat wordt gevraagd, meldt u zich aan bij Azure Event Grid met de referenties voor uw Azure-account. Controleer in de lijst Met tenants, waarin de Microsoft Entra-tenant wordt weergegeven die is gekoppeld aan uw Azure-abonnement, of de juiste tenant wordt weergegeven, bijvoorbeeld:

    Screenshot that shows the workflow designer with the Azure sign-in prompt to connect to Azure Event Grid.

    Notitie

    Als u bent aangemeld met een persoonlijk Microsoft-account, zoals @outlook.com of @hotmail.com, wordt de Azure Event Grid-trigger mogelijk niet correct weergegeven. Als tijdelijke oplossing selecteert u Verbinding maken met service-principal of verifieert u zich als lid van de Microsoft Entra 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:

    Screenshot that shows the workflow designer with the trigger details editor open.

    Eigenschappen Vereist Weergegeven als 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 die u wilt filteren en verzenden naar Azure Event Grid. U kunt bijvoorbeeld deze gebeurtenistypen toevoegen om te detecteren wanneer resources worden gewijzigd of verwijderd:

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

    Zie de volgende onderwerpen voor meer informatie:

    - Azure Event Grid-gebeurtenisschema voor resourcegroepen
    - Inzicht in het filteren van gebeurtenissen
    - Gebeurtenissen filteren voor Azure 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 deze eigenschap voor deze zelfstudie 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 deze eigenschap leeg voor deze zelfstudie. 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 uw gebeurtenisabonnement.

  4. Sla uw werkstroom voor logische apps op. Selecteer in de werkbalk van de ontwerper Opslaan. Als u de details van een actie in uw werkstroom wilt samenvouwen en verbergen, selecteert u de titelbalk van de actie.

    Screenshot that shows the workflow designer and the

    Wanneer u uw werkstroom voor logische apps opslaat met een Azure Event Grid-trigger, maakt Azure automatisch een gebeurtenisabonnement voor uw logische app op de geselecteerde resource. Wanneer de resource dus een gebeurtenis publiceert naar de Azure Event Grid-service, wordt de gebeurtenis automatisch naar uw logische app gepusht. Met deze gebeurtenis wordt de werkstroom van de logische app geactiveerd en uitgevoerd die u in deze volgende stappen definieert.

Uw logische app is nu live en luistert naar gebeurtenissen van Azure Event Grid, maar doet niets totdat u acties aan de werkstroom toevoegt.

Een voorwaarde toevoegen

Als u de werkstroom van uw logische app alleen wilt uitvoeren wanneer een specifieke gebeurtenis of bewerking plaatsvindt, voegt u een voorwaarde toe waarmee wordt gecontroleerd op de bewerking Microsoft.Compute/virtualMachines/write . Wanneer deze voorwaarde waar is, stuurt uw werkstroom van de logische app u een e-mail met details over de bijgewerkte virtuele machine.

  1. Selecteer nieuwe stap in de werkstroomontwerper onder de Azure Event Grid-trigger.

    Screenshot that shows the workflow designer with

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

    Screenshot that shows the workflow designer with

    De werkstroomontwerper voegt een lege voorwaarde toe aan uw werkstroom, inclusief actiepaden die moeten worden gevolgd op basis van het feit of de voorwaarde waar of onwaar is.

    Screenshot that shows the workflow designer with an empty condition added to the workflow.

  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.

    Screenshot that shows the workflow designer with the condition editor's context menu and

  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. Meer informatie over het Azure Event Grid-gebeurtenisschema.

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

      Screenshot that shows the workflow designer with the condition action and dynamic content list open with

    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:

      Screenshot showing workflow designer and condition editor with expression to extract the operation name.

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

    4. Voer in het rechtervak de bewerking in die u wilt bewaken. Dit is de volgende waarde voor dit voorbeeld:

      Microsoft.Compute/virtualMachines/write

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

    Screenshot that shows the workflow designer with a condition that compares the operation.

    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:

    Screenshot that shows the workflow designer with a condition that has resolved tokens.

  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 voor de voorwaarde.

    Screenshot that shows the workflow designer with the condition's

  2. Voer in het zoekvak onder Kies een actiesend 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.

    Screenshot that shows the workflow designer with the search box open to find the

  3. Als u nog niet bent verbonden met uw e-mailprovider, meldt u zich aan bij uw e-mailaccount wanneer u wordt gevraagd om zich te verifiëren.

  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:

    Screenshot that shows the workflow designer with dynamic content being addded to email subject line for a true condition.

    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.

    Eigenschappen Vereist Weergegeven als Beschrijving
    Tot 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).
    Tekst 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 voert de werkstroom van uw logische app die actie uit op elk matrixitem.

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

    Screenshot that shows the workflow designer with selected outputs to send in email when VM is updated.

    Uw voltooide werkstroom voor logische apps kan er als volgt uitzien:

    Screenshot showing designer with complete workflow and details for trigger and actions.

  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. Als u uw werkstroom nu wilt testen, gaat u verder met de volgende sectie.

De werkstroom van uw logische app testen

  1. Werk uw virtuele machine bij om te controleren of uw werkstroom de opgegeven gebeurtenissen ontvangt.

    U kunt bijvoorbeeld het formaat van uw virtuele machine wijzigen.

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

    Screenshot of example Outlook email, showing details about VM update.

  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.

    Screenshot of logic app's overview page, showing a successful run selected.

  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.

    Screenshot of logic app's runs history, showing details for each run.

Gefeliciteerd, u hebt een werkstroom voor logische apps gemaakt en uitgevoerd die resource-gebeurtenissen bewaakt via Azure Event Grid en u een e-mail stuurt wanneer deze gebeurtenissen plaatsvinden. 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 de werkstroom niet meer wilt uitvoeren zonder uw werk te verwijderen, schakelt u uw app uit. Selecteer Overzicht in het menu van de logische app. Selecteer Uitschakelen op de werkbalk.

    Screenshot of logic app's overview, showing Disable button selected to disable the logic app.

    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 verbruiken van gebeurtenissen uit Azure Event Grid met behulp van verschillende programmeertalen.