Självstudie: Övervaka ändringar av virtuella datorer med hjälp av Azure Event Grid och Azure Logic Apps
Gäller för: Azure Logic Apps (förbrukning)
Du kan övervaka och svara på specifika händelser som inträffar i Azure-resurser eller externa resurser med hjälp av Azure Event Grid och Azure Logic Apps. Du kan skapa ett automatiserat arbetsflöde för förbrukningslogikappen med minimal kod med hjälp av Azure Logic Apps. Du kan låta dessa resurser publicera händelser till Azure Event Grid. Azure Event Grid skickar i sin tur dessa händelser till prenumeranter som har köer, webhooks eller händelsehubbar som slutpunkter. Som prenumerant väntar arbetsflödet på att dessa händelser ska komma till Azure Event Grid innan du kör stegen för att bearbeta händelserna.
Här är till exempel några händelser som utgivare kan skicka till prenumeranter via Azure Event Grid:
Händelser som skapar, läser, uppdaterar eller tar bort en resurs. Du kan till exempel övervaka ändringar som kan medföra avgifter i din Azure-prenumeration och som påverkar din faktura.
Händelser som lägger till eller tar bort en person i en Azure-prenumeration.
Händelser som är kopplade till en viss åtgärd som utförs av din app.
Händelser som visar ett nytt meddelande i en kö.
I den här självstudien skapas en förbrukningslogikappresurs som körs i Azure Logic Apps med flera klientorganisationer och som baseras på prismodellen Förbrukning. Med hjälp av den här logikappresursen skapar du ett arbetsflöde som övervakar ändringar i en virtuell dator och skickar e-postmeddelanden om dessa ändringar. När du skapar ett arbetsflöde som har en händelseprenumeration på en Azure-resurs flödar händelser från den resursen via Azure Event Grid till arbetsflödet.
I den här självstudien lär du dig att:
- Skapa en logikappresurs och ett arbetsflöde som övervakar händelser från Azure Event Grid.
- Lägga till ett villkor som specifikt söker efter ändringar på en virtuell dator.
- Skicka e-post när den virtuella datorn ändras.
Förutsättningar
Ett Azure-konto och prenumeration. Om du heller inte har någon Azure-prenumeration kan du registrera ett kostnadsfritt Azure-konto.
Ett e-postkonto från en e-posttjänst som fungerar med Azure Logic Apps för att skicka meddelanden, till exempel Office 365 Outlook, Outlook.com eller Gmail. För andra providrar läser du listan med anslutningsappar här.
I den här självstudien används ett Office 365 Outlook-konto. Om du använder ett annat e-postkonto är stegen desamma, men användargränssnittet kan vara lite annorlunda.
Viktigt!
Om du vill använda Gmail-anslutningsappen kan endast G-Suite-företagskonton använda den här anslutningsappen utan begränsning i logikappar. Om du har ett Gmail-konsumentkonto kan du använda den här anslutningsappen med endast specifika Google-godkända tjänster, eller så kan du skapa en Google-klientapp som ska användas för autentisering med gmail-anslutningsappen. Mer information finns i Datasäkerhets- och sekretessprinciper för Google-anslutningsappar i Azure Logic Apps.
En virtuell dator som är ensam i en egen Azure-resursgrupp. Om du inte redan har gjort det skapar du en virtuell dator via självstudien Skapa en virtuell dator. Du behöver inte göra något mer för att den virtuella datorn ska publicera händelser.
Om du har en brandvägg som begränsar trafik till specifika IP-adresser måste du konfigurera brandväggen för att tillåta åtkomst för Azure Logic Apps att kommunicera via brandväggen. Du måste tillåta åtkomst för både inkommande och utgående IP-adresser som används av Azure Logic Apps i Azure-regionen där du skapar logikappen.
I det här exemplet används hanterade anslutningsappar som kräver att brandväggen tillåter åtkomst för alla utgående IP-adresser för hanterade anslutningsappar i Azure-regionen för din logikappresurs.
Skapa logikappresurs
Logga in på Azure Portal med ditt Azure-konto.
På Startsidan för Azure väljer du Skapa en resursintegreringslogikapp>>.
Under Skapa logikapp anger du information om din logikappresurs:
Property Obligatoriskt Värde beskrivning Abonnemang Ja <Namn-på-Azure-prenumeration> Välj samma Azure-prenumeration för alla tjänster i den här självstudien. Resursgrupp Ja <Azure-resursgrupp> Namnet på Azure-resursgruppen för logikappen, som du kan välja för alla tjänster i den här självstudien. Namn på logikapp Ja <logic-app-name> Ange ett unikt namn för logikappen. Publicera Ja Arbetsflöde Välj distributionsmål för logikappen. I den här självstudien ser du till att du väljer Arbetsflöde, som distribueras till Azure. Region Ja <Azure-region> Välj samma region för alla tjänster i den här självstudiekursen. Plantyp Ja Förbrukning Resurstypen för logikappen. I den här självstudien kontrollerar du att du väljer Förbrukning. Kommentar
Om du senare vill använda Azure Event Grid-åtgärderna med en standardlogikappresurs i stället ska du skapa ett tillståndskänsligt arbetsflöde, inte ett tillståndslöst arbetsflöde. Den här självstudien gäller endast för förbrukningslogikappar som följer en annan användarupplevelse. Om du vill lägga till Azure Event Grid-åtgärder i arbetsflödet i designern kontrollerar du att du väljer fliken Azure i åtgärdsväljaren. Mer information om Azure Logic Apps för flera klienter jämfört med en klientorganisation finns i Single-tenant versus multitenant (Enkel klientorganisation jämfört med flera klientorganisationer).
När du är klar väljer du Granska + skapa. Bekräfta den angivna informationen i nästa fönster och välj Skapa.
När Azure har distribuerat logikappen väljer du Gå till resurs.
Arbetsflödesdesignern visar en sida med en introduktionsvideo och vanliga utlösare.
Bläddra förbi videofönstret och avsnittet vanliga utlösare.
Under Mallar väljer du Tom logikapp.
Kommentar
Galleriet för arbetsflödesmallar är endast tillgängligt för förbrukningslogikappar, inte standardlogikappar.
Arbetsflödesdesignern visar nu de utlösare som du kan använda för att starta logikappen. Varje arbetsflöde måste börja med en utlösare som utlöses när en specifik händelse inträffar eller när ett specifikt villkor uppfylls. Varje gång utlösaren utlöses skapar Azure Logic Apps en arbetsflödesinstans som kör logikappen.
Lägga till en Azure Event Grid-utlösare
Lägg nu till Azure Event Grid-utlösaren som du använder för att övervaka resursgruppen för den virtuella datorn.
I sökrutan i designern anger du
event grid
. I listan utlösare väljer du utlösaren När en resurshändelse inträffar .När du uppmanas att göra det loggar du in på Azure Event Grid med dina autentiseringsuppgifter för Azure-kontot. I listan Klientorganisation, som visar Den Microsoft Entra-klientorganisation som är associerad med din Azure-prenumeration, kontrollerar du att rätt klientorganisation visas, till exempel:
Kommentar
Om du är inloggad med ett personligt Microsoft-konto, till exempel @outlook.com eller @hotmail.com, kanske Inte Azure Event Grid-utlösaren visas korrekt. Som en lösning väljer du Anslut med tjänstens huvudnamn eller autentiserar som medlem i Microsoft Entra som är associerad med din Azure-prenumeration, till exempel användarnamn@emailoutlook.onmicrosoft.com.
Prenumerera nu logikappen på händelser från utgivaren. Ange information om din händelseprenumeration enligt beskrivningen i följande tabell, till exempel:
Property Obligatoriskt Värde beskrivning Abonnemang Ja <event-publisher-Azure-subscription-name> Välj namnet på den Azure-prenumeration som är associerad med händelseutgivaren. I den här självstudien väljer du Azure-prenumerationsnamnet för den virtuella datorn. Resurstyp Ja <event-publisher-Azure-resource-type> Välj Azure-resurstypen för händelseutgivaren. Mer information om Azure-resurstyper finns i Azure-resursprovidrar och typer. I den här självstudien väljer du värdet Microsoft.Resources.ResourceGroups
för att övervaka Azure-resursgrupper.Resursnamn Ja <event-publisher-Azure-resource-name> Välj Azure-resursnamnet för händelseutgivaren. Den här listan varierar beroende på vilken resurstyp du har valt. I den här självstudien väljer du namnet på den Azure-resursgrupp som innehåller den virtuella datorn. Objekt för händelsetyp Nej <händelsetyper> Välj en eller flera specifika händelsetyper som ska filtreras och skickas till Azure Event Grid. Du kan till exempel lägga till dessa händelsetyper för att identifiera när resurser ändras eller tas bort: -
Microsoft.Resources.ResourceActionSuccess
-Microsoft.Resources.ResourceDeleteSuccess
-Microsoft.Resources.ResourceWriteSuccess
Mer information finns i följande avsnitt:
- Azure Event Grid-händelseschema för resursgrupper
- Förstå händelsefiltrering
- Filtrera händelser för Azure Event GridOm du vill lägga till valfria egenskaper väljer du Lägg till ny parameter och väljer sedan de egenskaper som du vill använda. Nej {se beskrivningar} * Prefixfilter: I den här självstudien lämnar du den här egenskapen tom. Standardbeteendet matchar alla värden. Du kan dock ange en prefixsträng som ett filter, till exempel en sökväg och en parameter för en specifik resurs. * Suffixfilter: I den här självstudien lämnar du den här egenskapen tom. Standardbeteendet matchar alla värden. Du kan dock ange en suffixsträng som ett filter, till exempel ett filnamnstillägg, om du bara vill använda specifika filtyper.
* Prenumerationsnamn: I den här självstudien kan du ange ett unikt namn för din händelseprenumeration.
Spara arbetsflödet för logikappen. I verktygsfältet för designern väljer du Spara. Om du vill komprimera och dölja en åtgärds information i arbetsflödet väljer du åtgärdens namnlist.
När du sparar arbetsflödet för logikappen med en Azure Event Grid-utlösare skapar Azure automatiskt en händelseprenumeration för logikappen till den valda resursen. När resursen publicerar en händelse till Azure Event Grid-tjänsten skickar tjänsten automatiskt händelsen till logikappen. Den här händelsen utlöser och kör logikappens arbetsflöde som du definierar i dessa nästa steg.
Logikappen är nu live och lyssnar på händelser från Azure Event Grid, men gör ingenting förrän du lägger till åtgärder i arbetsflödet.
Lägg till ett villkor
Om du bara vill att logikappens arbetsflöde ska köras när en viss händelse eller åtgärd inträffar lägger du till ett villkor som söker efter åtgärden Microsoft.Compute/virtualMachines/write . När det här villkoret är sant skickar logikappens arbetsflöde ett e-postmeddelande som innehåller information om den uppdaterade virtuella datorn.
I arbetsflödesdesignern går du till Azure Event Grid-utlösaren och väljer Nytt steg.
Under Välj en åtgärd går du till sökrutan och anger
condition
som filter. I listan med åtgärder väljer du åtgärden Villkor .Arbetsflödesdesignern lägger till ett tomt villkor i arbetsflödet, inklusive åtgärdssökvägar som ska följas baserat på om villkoret är sant eller falskt.
Byt namn på villkorsrubriken till
If a virtual machine in your resource group has changed
. I villkorets namnlist väljer du knappen ellipser (...) och sedan Byt namn.Skapa ett villkor som kontrollerar händelsen
body
för ettdata
objekt däroperationName
egenskapen är lika med åtgärdenMicrosoft.Compute/virtualMachines/write
. Läs mer om Azure Event Grid-händelseschema.Klicka i den vänstra rutan på den första raden under Och. I listan med dynamiskt innehåll som visas väljer du Uttryck.
I uttrycksredigeraren anger du det här uttrycket, som returnerar åtgärdsnamnet från utlösaren och väljer OK:
triggerBody()?['data']['operationName']
Till exempel:
I den mellersta rutan behåller du operatorn is equal to (är lika med).
I den högra rutan anger du den åtgärd som du vill övervaka, vilket är följande värde för det här exemplet:
Microsoft.Compute/virtualMachines/write
Det färdiga villkoret ser nu ut som i det här exemplet:
Om du växlar från designvyn till kodvyn och tillbaka till designvyn matchas det uttryck som du angav i villkoret med data.operationName-token :
Spara logikappen.
Skicka e-postmeddelanden
Lägg nu till en åtgärd så att du kan få ett e-postmeddelande när det angivna villkoret är sant.
I villkorets ruta Om sant väljer du Lägg till en åtgärd.
Under Välj en åtgärd går du till sökrutan och anger
send an email
som filter. Baserat på din e-leverantör söker du och väljer matchande anslutningsapp. Välj sedan åtgärden "send email" (skicka e-post) för anslutningsappen. Till exempel:För ett arbets- eller skolkonto i Azure väljer du anslutningsappen Office 365 Outlook.
För personliga Microsoft-konton väljer du anslutningsappen Outlook.com.
För Gmail-konton väljer du Gmail-anslutningsappen.
Den här självstudien fortsätter med Office 365 Outlook-anslutningsappen. Om du använder en annan provider förblir stegen desamma, men användargränssnittet kan se något annorlunda ut.
Om du inte redan har en anslutning för e-postleverantören loggar du in på ditt e-postkonto när du tillfrågas om autentisering.
Byt namn på åtgärden skicka e-post till den här rubriken:
Send email when virtual machine updated
Ange information om e-postmeddelandet enligt följande tabell:
Dricks
Om du vill välja utdata från föregående steg i arbetsflödet klickar du i en redigeringsruta så att listan med dynamiskt innehåll visas eller väljer Lägg till dynamiskt innehåll. Om du vill ha fler resultat väljer du Visa mer för varje avsnitt i listan. Om du vill stänga listan med dynamiskt innehåll väljer du Lägg till dynamiskt innehåll igen.
Property Obligatoriskt Värde beskrivning To Ja <recipient@domain> Ange mottagarens e-postadress. I testsyfte kan du använda din egen e-postadress. Ämne Ja Resource updated:
SubjektAnge innehållet för e-postmeddelandets ämne. I den här självstudien anger du den angivna texten och väljer händelsens ämnesfält. Här innehåller e-postmeddelandets ämne namnet på den uppdaterade resursen (virtuell dator). Brödtext Ja Resource:
ÄmneEvent type:
HändelsetypEvent ID:
IDTime:
HändelsetidAnge innehållet för e-postmeddelandets ämne. I den här självstudien anger du den angivna texten och väljer händelsens fälten Ämne, Händelsetyp, ID och Händelsetid så att e-postmeddelandet innehåller resursen som utlöste händelsen, händelsetypen, händelsetidsstämpeln och händelse-ID:t för uppdateringen. I den här självstudien är resursen den Azure-resursgrupp som valts i utlösaren. Tryck på Skift+Retur om du vill lägga till tomma rader i innehållet.
Kommentar
Om du väljer ett fält som representerar en matris lägger designverktyget automatiskt till en For each-loop runt åtgärden som refererar till matrisen. På så sätt utför logikappens arbetsflöde den åtgärden på varje matrisobjekt.
Nu bör din e-poståtgärd se ut ungefär som i det här exemplet:
Och ditt färdiga arbetsflöde för logikappen kan se ut som i följande exempel:
Spara logikappen. Om du vill komprimera och dölja varje åtgärds information i logikappen väljer du åtgärdens namnlist.
Nu är logikappen aktiv, men den väntar på att den virtuella datorn ska ändras innan den gör något. Om du vill testa arbetsflödet nu fortsätter du till nästa avsnitt.
Testa logikappens arbetsflöde
Uppdatera den virtuella datorn om du vill kontrollera att arbetsflödet hämtar de angivna händelserna.
Du kan till exempel ändra storlek på den virtuella datorn.
Du bör få ett e-postmeddelande efter en liten stund. Till exempel:
Om du vill granska körnings- och utlösarhistoriken för logikappen går du till logikappmenyn och väljer Översikt. Om du vill visa mer information om en körning väljer du raden för den körningen.
Expandera det steg som du vill granska för att visa indata och utdata för varje steg. Den här informationen kan hjälpa dig att diagnostisera och felsöka problem i din logikapp.
Grattis, du har skapat och kört ett logikapparbetsflöde som övervakar resurshändelser via Azure Event Grid och skickar e-post till dig när dessa händelser inträffar. Du har också lärt dig hur du enkelt kan skapa arbetsflöden som automatiserar processer och integrerar system och molntjänster.
Du kan övervaka andra konfigurationsändringar med händelserutnät och logikappar, till exempel:
- En virtuell dator hämtar rollbaserad åtkomstkontroll i Azure (Azure RBAC).
- Ändringar görs i en nätverkssäkerhetsgrupp (NSG) för ett nätverkskort (NIC).
- Diskar för en virtuell dator läggs till eller tas bort.
- Nätverkskortet för en virtuell dator tilldelas en offentlig IP-adress.
Rensa resurser
Den här självstudien använder resurser och utför åtgärder som medför avgifter i din Azure-prenumeration. När du är klar med självstudiekursen och testningen bör du därför inaktivera eller ta bort resurser som du inte vill betala för.
Om du vill sluta köra arbetsflödet utan att ta bort ditt arbete inaktiverar du appen. På logikappmenyn väljer du Översikt. Välj Inaktivera i verktygsfältet.
Dricks
Om du inte ser logikappmenyn kan du försöka återgå till Azure-instrumentpanelen och öppna logikappen på nytt.
Om du vill ta bort logikappen permanent går du till logikappmenyn och väljer Översikt. Välj Ta bort i verktygsfältet. Bekräfta att du vill ta bort logikappen och välj Ta bort.
Nästa steg
Se följande exempel för att lära dig mer om att publicera händelser till och använda händelser från Azure Event Grid med olika programmeringsspråk.