Share via


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.

Schermopname van de werkstroomontwerper met een werkstroom die een virtuele machine bewaakt met behulp van 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.

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

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

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

    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 Workflow 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. Raadpleeg Voor meer informatie over multitenant versus Azure Logic Apps met één tenant één tenant versus multitenant.

  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.

    Schermopname van Azure Logic Apps-sjablonen met de geselecteerde sjabloon Lege logische app.

    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.

    Schermopname van de werkstroomontwerper met de geselecteerde 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:

    Schermopname van de werkstroomontwerper met de aanmeldingsprompt van Azure om verbinding te maken met 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 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:

    Schermopname van de werkstroomontwerper met de triggerdetailseditor geopend.

    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.

    Schermopname van de werkstroomontwerper en de knop Opslaan geselecteerd.

    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.

    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.

    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.

    Schermopname van de werkstroomontwerper met een lege voorwaarde die is 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. 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.

      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']

      Voorbeeld:

      Schermopname van de editor voor werkstroomontwerper en voorwaarde met expressie om de naam van de bewerking te extraheren.

    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:

    Schermopname van de werkstroomontwerper met een voorwaarde waarmee de bewerking wordt vergeleken.

    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 met opgeloste 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.

    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. Voorbeeld:

    • 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 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:

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

    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
    Als u dit wilt doen 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:

    Schermopname van de werkstroomontwerper met geselecteerde uitvoer die per e-mail moet worden verzonden wanneer de VIRTUELE machine wordt bijgewerkt.

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

    Schermopname van de ontwerper met volledige werkstroom en details voor trigger 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. 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. Voorbeeld:

    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.

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.

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