Delen via


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

Van toepassing op: Azure Logic Apps (verbruik)

Als u specifieke gebeurtenissen in Azure-resources of externe resources wilt bewaken en erop wilt reageren, kunt u Azure Event Grid en Azure Logic Apps gebruiken. 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 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 logische app-resource verbruik die wordt uitgevoerd in Multitenant Azure Logic Apps. De app 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 hebt, meld u dan aan 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. Zie de lijst met connectors voor andere providers.

    In deze zelfstudie wordt gebruikgemaakt van een Office 365 Outlook-account. Als u een ander e-mailaccount gebruikt, 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 een virtuele machine nodig hebt, raadpleegt u Een virtuele Windows-machine maken in Azure Portal. Als u wilt dat de virtuele machine gebeurtenissen publiceert, hoeft u niets anders te doen.

  • Als u een firewall hebt die verkeer beperkt tot specifieke IP-adressen, stelt u uw firewall in om toegang te verlenen voor Azure Logic Apps om via de firewall te 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 Azure Portal met opties voor het maken van een logische app-resource.

  3. Selecteer Verbruik>met meerdere tenants.

  4. 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 naam, abonnement, resourcegroep en locatie.

    Kenmerk 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.
    Regio Ja < Azure-regio> Selecteer dezelfde regio voor alle services in deze tutorial.

    Notitie

    Deze zelfstudie is alleen van toepassing op logische apps voor verbruik, die een andere gebruikerservaring volgen. Zie Voor meer informatie verschillen tussen standaard logische apps met één tenant versus multitenant logische apps voor verbruik.

  5. Selecteer als u klaar bent de optie Beoordelen en maken. Bevestig de opgegeven informatie op de volgende pagina en selecteer Maken.

Een Azure Event Grid-trigger toevoegen

Voer de volgende stappen uit om de Azure Event Grid-trigger toe te voegen, zodat u de resourcegroep voor uw virtuele machine kunt bewaken:

  1. Open uw resource voor de logische app Verbruik in Azure Portal.

  2. Selecteer in de zijbalk van de resource onder Ontwikkelhulpprogramma's de ontwerpfunctie om uw werkstroom te openen.

  3. Volg deze algemene stappen in de ontwerpfunctie om de Azure Event Grid-trigger met de naam Wanneer een resource-gebeurtenis plaatsvindttoe te voegen aan uw werkstroom.

  4. Geef in het deelvenster Verbinding maken de volgende informatie op:

    Kenmerk Vereist Beschrijving
    Authenticatie Ja Selecteer het verificatietype dat u voor de verbinding wilt vereisen. Uw selectie bepaalt andere parameterwaarden die voor deze verbinding nodig zijn.

    Met OAuth-verificatie wordt bijvoorbeeld de lijst met tenant-id's weergegeven en wordt de Microsoft Entra-tenant voor uw Azure-abonnement weergegeven. Controleer of de juiste tenant wordt weergegeven:

    Schermopname van de werkstroomontwerper met de aanmeldingsprompt voor 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 microsoft Entra voor uw Azure-abonnement. Bijvoorbeeld gebruikersnaam@emailoutlook.onmicrosoft.com.

  5. Als u klaar bent, selecteer Aanmelden.

  6. Stel nu uw werkstroom in met een abonnement op gebeurtenissen van de uitgever.

    Geef in het triggerdeelvenster de volgende informatie op over uw gebeurtenisabonnement:

    Schermopname van de werkstroomontwerper met de editor voor triggerdetails geopend.

    Kenmerk Vereist Weergegeven als Beschrijving
    Resourcetype Ja < event-publisher-Azure-resource-type> Selecteer het Azure-resourcetype voor de gebeurtenisuitgever. Zie Azure-resourceproviders en -typen voor meer informatie. Voor deze zelfstudie selecteert u Microsoft.Resources.ResourceGroups om Azure-resourcegroepen te bewaken.
    Abonnement Ja < event-publisher-Azure-subscription-name> Selecteer de naam voor het Azure-abonnement voor de gebeurtenisuitgever. Selecteer voor deze zelfstudie de naam van het Azure-abonnement voor uw virtuele machine.
    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 < gebeurtenistypen> 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 voor meer informatie:

    - Azure-resourcegroep als een Event Grid-bron
    - Inzicht in het filteren van gebeurtenissen
    - Gebeurtenissen filteren voor Event Grid
    Als u optionele parameters wilt toevoegen, opent u de lijst geavanceerde parameters en selecteert u vervolgens de gewenste parameters. Nee {zie de beschrijvingen} - Voorvoegselfilter: Laat deze waarde 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 waarde 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.
  7. Sla uw workflow op. Selecteer in de werkbalk van de ontwerper Opslaan.

    Wanneer u uw werkstroom opslaat met een Azure Event Grid-trigger, maakt Azure een gebeurtenisabonnement voor uw werkstroom naar de geselecteerde resource. Wanneer de resource een gebeurtenis publiceert naar de Azure Event Grid-service, pusht de service de gebeurtenis naar uw werkstroom. Met deze gebeurtenis wordt de werkstroom geactiveerd en uitgevoerd die u in de volgende sectie definieert.

Wanneer u uw werkstroom opslaat, wordt de resource van uw logische app live in Azure Portal en luistert u naar gebeurtenissen uit Azure Event Grid. Uw werkstroom doet echter niets anders totdat u acties toevoegt om taken uit te voeren.

Een voorwaarde toevoegen

Als u de acties alleen in uw werkstroom wilt uitvoeren wanneer een specifieke gebeurtenis of bewerking plaatsvindt, voegt u een voorwaarde toe die controleert op die gebeurtenis of bewerking. In deze zelfstudie wordt gecontroleerd op de bewerking Microsoft.Compute/virtualMachines/write . Wanneer deze voorwaarde waar is, stuurt een andere actie in uw werkstroom u een e-mail met informatie over de bijgewerkte virtuele machine.

  1. Volg deze algemene stappen in de ontwerpfunctie om de ingebouwde actie Voorwaarde toe te voegen aan uw werkstroom.

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

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

  2. Als u de naam van de voorwaarde wilt wijzigen , selecteert u voorwaarde in het actievenster in de actietitel. Wijzig de naam van de titel in If a virtual machine in your resource group.

    Schermopname van de werkstroomontwerper en het vak actietitel met de nieuwe naam.

  3. Maak een voorwaarde die de gebeurtenis body controleert op een data object waarbij de operationName parameter gelijk is aan de bewerking Microsoft.Compute/virtualMachines/write . Zie het Azure Event Grid-gebeurtenisschema voor meer informatie.

    1. Selecteer in de eerste rij onder En selecteer in het linkervak om de invoeropties weer te geven. Dit zijn de dynamische inhoudslijst (bliksempictogram) en expressie-editor (functiepictogram). Selecteer de expressie-editor.

      Schermopname van de werkstroomontwerper met de actie Voorwaarde en expressie-editor met de naam geopend.

    2. Zorg ervoor dat Functie is geselecteerd in de editor. Voer in het editorvak de volgende expressie in, waarmee de naam van de bewerking van de trigger wordt geretourneerd en selecteer vervolgens Toevoegen:

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

      Voorbeeld:

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

    3. Houd in het middelste vak de operator 'is gelijk aan' (=).

    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 uw wijzigingen opslaat en overschakelt van de ontwerpweergave naar de codeweergave en vervolgens terugkeert naar de ontwerpweergave, wordt de expressie in de voorwaarde omgezet in het token data.operationName :

    Schermopname van de werkstroomontwerper met een voorwaarde waarmee tokens zijn omgezet.

  4. Sla uw workflow 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 +> in het vak True van de voorwaarde.

    Schermopname van de werkstroomontwerper met het deelvenster True van de voorwaarde geopend en geselecteerd voor een actie toevoegen.

  2. Voer in het zoekvak Een actievenster toevoegeneen e-mail in. Zoek op basis van uw e-mailprovider het bijbehorende connectortype. Selecteer de actie E-mail verzenden voor uw connector. Voorbeeld:

    • Voor een Azure-werk- of schoolaccount selecteert u de office 365 Outlook-connectoractie met de naam Een e-mail verzenden (V2).
    • Selecteer voor persoonlijke Microsoft-accounts de Outlook.com connectoractie met de naam Een e-mail verzenden (V2).
    • Selecteer voor Gmail-accounts de actie Gmail-connector met de naam E-mail verzenden (V2).

    Deze zelfstudie gaat verder met de office 365 Outlook-connectoractie. Als u een andere provider gebruikt, blijven de stappen hetzelfde, maar de gebruikersinterface kan er iets anders uitzien.

  3. Als u nog geen verbinding voor uw e-mailprovider hebt, meldt u zich aan bij uw e-mailaccount wanneer u wordt gevraagd uw identiteit te verifiëren.

  4. Wijzig de naam van de actie E-mail verzenden in de volgende titel: E-mail verzenden wanneer de virtuele machine wordt bijgewerkt.

  5. Geef in het actievenster de volgende informatie op over het e-mailbericht dat u wilt verzenden:

    Tip

    Als u uitvoer wilt selecteren van voorgaande bewerkingen (trigger en acties) in uw werkstroom, voert u de volgende stappen uit:

    1. Selecteer in een invoervak om de invoeropties weer te geven. Dit zijn de dynamische inhoudslijst (bliksempictogram) en de expressie-editor (functiepictogram). Selecteer de lijst met dynamische inhoud.
    2. Zoek en selecteer de uitvoer die u wilt opnemen. Als u meer resultaten wilt zien, selecteert u Meer weergeven voor elke sectie in de lijst.
    Kenmerk 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 bijgewerkt:[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]

    Gebeurtenistype:[Gebeurtenistype]

    Gebeurtenis-id:[ID]

    Tijd:[Gebeurtenistijd]
    Voer de inhoud voor de hoofdtekst van de e-mail in. Voor deze zelfstudie voert u de opgegeven tekst in en selecteert u het onderwerp, het gebeurtenistype, de id en de gebeurtenistijd , zodat uw e-mail de resource bevat die de gebeurtenis, het gebeurtenistype, de tijdstempel van de gebeurtenis en de gebeurtenis-id voor de update heeft geactiveerd. Voor deze zelfstudie is de resource de Azure-resourcegroep die in de trigger is geselecteerd.

    Als u lege regels wilt toevoegen aan uw inhoud, drukt u op Shift + Enter.

    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 uw werkstroom die actie uit op elk matrixitem.

    Uw e-mailactie kan er als volgt uitzien:

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

    Uw voltooide werkstroom ziet er nu uit zoals in het volgende voorbeeld:

    Schermopname van de ontwerper met volledige werkstroom en details voor trigger en acties.

  6. Sla uw workflow op.

    Uw werkstroomupdates zijn nu live. De werkstroomtrigger wacht op wijzigingen in uw virtuele machine voordat u iets doet. Als u uw werkstroom nu wilt testen, gaat u verder met de volgende sectie.

Uw werkstroom 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:

  2. Als u de uitvoeringsgeschiedenis of triggergeschiedenis voor uw werkstroom wilt bekijken, selecteert u Overzicht op de zijbalk van de resource.

  3. Selecteer Op de pagina Overzichtde optie Uitvoeringsgeschiedenis. Als u meer informatie over een werkstroomuitvoering wilt weergeven, selecteert u die uitvoering.

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

  4. Als u de invoer en uitvoer voor elke bewerking wilt weergeven, selecteert u die bewerking.

    Deze informatie kan u helpen bij het vaststellen en opsporen van problemen in uw werkstroom.

    Schermopname van de uitvoeringsgeschiedenis van de werkstroom met details over elke uitvoering.

Gefeliciteerd! U hebt een werkstroom gemaakt en uitgevoerd die resource-gebeurtenissen in Azure Event Grid bewaakt 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 event grids en werkstromen, bijvoorbeeld:

  • Een virtuele machine krijgt machtigingen voor op rollen gebaseerd toegangsbeheer van Azure (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. Wanneer u klaar bent met de zelfstudie en het testen, schakelt u resources uit of verwijdert u resources waarvoor u geen kosten wilt in rekening brengen.

  • Als u de werkstroom niet meer wilt uitvoeren zonder uw werk te verwijderen, schakelt u uw app uit. Selecteer Overzicht in de zijbalk van de logische app. Selecteer Uitschakelen op de werkbalk.

    Schermopname van de pagina Overzicht van logische apps met de knop Uitschakelen geselecteerd.

    Tip

    Als u de zijbalk van de logische app niet ziet, gaat u terug naar de startpagina van Azure Portal en opent u de resource van uw logische app opnieuw.

  • Als u uw logische app definitief wilt verwijderen, selecteert u Overzicht in het zijbalkmenu. Selecteer Verwijderen op de werkbalk. Bevestig dat u uw logische app wilt verwijderen en selecteer Verwijderen.

Zie de volgende voorbeelden voor voorbeelden van het publiceren van gebeurtenissen en het verbruiken van gebeurtenissen met Azure Event Grid met behulp van verschillende programmeertalen: