Samouczek: monitorowanie zmian maszyn wirtualnych przy użyciu usług Azure Event Grid i Azure Logic Apps

Dotyczy: Azure Logic Apps (Zużycie)

Za pomocą usługi Azure Event Grid i Azure Logic Apps można monitorować i reagować na określone zdarzenia, które występują w zasobach platformy Azure lub zasobach zewnętrznych. Możesz utworzyć zautomatyzowany przepływ pracy aplikacji logiki Zużycie z minimalnym kodem przy użyciu usługi Azure Logic Apps. Te zasoby mogą publikować zdarzenia w usłudze Azure Event Grid. Z kolei usługa Azure Event Grid wypycha te zdarzenia do subskrybentów, którzy mają kolejki, elementy webhook lub centra zdarzeń jako punkty końcowe. Jako subskrybent przepływ pracy czeka na nadejście tych zdarzeń w usłudze Azure Event Grid przed uruchomieniem kroków przetwarzania zdarzeń.

Oto na przykład niektóre zdarzenia, które wydawcy mogą wysyłać do subskrybentów za pośrednictwem usługi Azure Event Grid:

  • Utworzenie, odczyt, aktualizacja lub usunięcie zasobu. Można na przykład monitorować zmiany, które mogą spowodować naliczenie opłat w ramach subskrypcji platformy Azure i wpłynąć na rachunek.

  • Dodanie lub usunięcie osoby z subskrypcji platformy Azure.

  • Aplikacja wykonuje określoną akcję.

  • Pojawienie się nowego komunikatu w kolejce.

Ten samouczek tworzy zasób aplikacji logiki Zużycie, który działa w wielodostępnej usłudze Azure Logic Apps i jest oparty na modelu cen zużycie. Za pomocą tego zasobu aplikacji logiki utworzysz przepływ pracy, który monitoruje zmiany na maszynie wirtualnej i wysyła wiadomości e-mail dotyczące tych zmian. Podczas tworzenia przepływu pracy, który ma subskrypcję zdarzeń do zasobu platformy Azure, zdarzenia przepływają z tego zasobu za pośrednictwem usługi Azure Event Grid do przepływu pracy.

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

Z tego samouczka dowiesz się, jak wykonywać następujące czynności:

  • Utwórz zasób aplikacji logiki i przepływ pracy, który monitoruje zdarzenia z usługi Azure Event Grid.
  • Dodawanie warunku, który konkretnie wyszukuje zmiany maszyny wirtualnej.
  • Wysyłanie wiadomości e-mail, gdy maszyna wirtualna ulegnie zmianie.

Wymagania wstępne

  • Konto i subskrypcja platformy Azure. Jeśli nie masz subskrypcji platformy Azure, zarejestruj się w celu założenia bezpłatnego konta platformy Azure.

  • Konto e-mail z usługi poczty e-mail, które współpracuje z usługą Azure Logic Apps na potrzeby wysyłania powiadomień, takich jak Office 365 Outlook, Outlook.com lub Gmail. W przypadku innych dostawców przejrzyj tę listę łączników.

    W tym samouczku jest używane konto usługi Office 365 Outlook. Jeśli korzystasz z innego konta e-mail, ogólne kroki pozostają takie same, ale Twój interfejs użytkownika może wyglądać trochę inaczej.

    Ważne

    Jeśli chcesz użyć łącznika Gmail, tylko konta biznesowe usługi G-Suite mogą używać tego łącznika bez ograniczeń w aplikacjach logiki. Jeśli masz konto użytkownika Gmail, możesz użyć tego łącznika tylko z określonymi usługami zatwierdzonymi przez firmę Google lub utworzyć aplikację kliencką Google do użycia do uwierzytelniania za pomocą łącznika Gmail. Aby uzyskać więcej informacji, zobacz Zasady zabezpieczeń i prywatności danych dla łączników Google w usłudze Azure Logic Apps.

  • Maszyna wirtualna , która jest sama w własnej grupie zasobów platformy Azure. Jeśli jeszcze tego nie zrobiono, utwórz maszynę wirtualną za pomocą samouczka Tworzenie maszyny wirtualnej. Aby maszyna wirtualna publikowała zdarzenia, nie trzeba nic robić.

  • Jeśli masz zaporę, która ogranicza ruch do określonych adresów IP, musisz skonfigurować zaporę, aby zezwolić na dostęp do usługi Azure Logic Apps w celu komunikowania się przez zaporę. Musisz zezwolić na dostęp zarówno dla przychodzących, jak i wychodzących adresów IP używanych przez usługę Azure Logic Apps w regionie świadczenia usługi Azure, w którym tworzysz aplikację logiki.

    W tym przykładzie użyto łączników zarządzanych, które wymagają zapory, aby zezwolić na dostęp do wszystkich wychodzących adresów IP łącznika zarządzanego w regionie świadczenia usługi Azure dla zasobu aplikacji logiki.

Tworzenie zasobu aplikacji logiki

  1. Zaloguj się w witrynie Azure Portal przy użyciu danych konta Azure.

  2. Na stronie głównej platformy Azure wybierz pozycję Utwórz aplikację logiki integracji>zasobów>.

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

  3. W obszarze Tworzenie aplikacji logiki podaj informacje o zasobie aplikacji logiki:

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

    Właściwości Wymagania Wartość Opis
    Subskrypcja Tak <Azure-subscription-name> Wybierz tę samą subskrypcję platformy Azure dla wszystkich usług w tym samouczku.
    Grupa zasobów Tak <Azure-resource-group> Nazwa grupy zasobów platformy Azure dla aplikacji logiki, którą można wybrać dla wszystkich usług w tym samouczku.
    Nazwa aplikacji logiki Tak <logic-app-name> Podaj unikatową nazwę aplikacji logiki.
    Publikowanie Tak Przepływ pracy Wybierz miejsce docelowe wdrożenia dla aplikacji logiki. Na potrzeby tego samouczka upewnij się, że wybrano pozycję Przepływ pracy, który jest wdrażany na platformie Azure.
    Region Tak <Region świadczenia usługi Azure> Wybierz ten sam region dla wszystkich usług w tym samouczku.
    Typ planu Tak Zużycie Typ zasobu dla aplikacji logiki. Na potrzeby tego samouczka upewnij się, że wybrano pozycję Zużycie.

    Uwaga

    Jeśli później chcesz użyć operacji usługi Azure Event Grid z zasobem standardowej aplikacji logiki, upewnij się, że zamiast tego utworzysz stanowy przepływ pracy, a nie bezstanowy przepływ pracy. Ten samouczek dotyczy tylko aplikacji logiki Zużycie, które są zgodne z innym środowiskiem użytkownika. Aby dodać operacje usługi Azure Event Grid do przepływu pracy w projektancie, w okienku selektora operacji upewnij się, że wybrano kartę Azure . Aby uzyskać więcej informacji na temat wielodostępnych i jednodostępnych usługi Azure Logic Apps, zapoznaj się z artykułem Single-tenant versus multitenant and integration service environment (Jednodostępne i wielodostępne środowisko usługi integracji).

  4. Po zakończeniu wybierz pozycję Przejrzyj i utwórz. W następnym okienku potwierdź podane informacje i wybierz pozycję Utwórz.

  5. Po wdrożeniu aplikacji logiki przez platformę Azure wybierz pozycję Przejdź do zasobu.

    Projektant przepływu pracy przedstawia stronę z wprowadzeniem wideo i często używanymi wyzwalaczami.

  6. Przewiń obok okna wideo i sekcję często używanych wyzwalaczy.

  7. W obszarze Szablony wybierz pozycję Pusta aplikacja logiki.

    Uwaga

    Galeria szablonów przepływów pracy jest dostępna tylko dla aplikacji logiki Zużycie, a nie standardowych aplikacji logiki.

    Screenshot showing Azure Logic Apps templates with selected

    Projektant przepływu pracy pokazuje teraz wyzwalacze , których można użyć do uruchomienia aplikacji logiki. Każdy przepływ pracy musi rozpoczynać się od wyzwalacza, który jest uruchamiany, gdy wystąpi określone zdarzenie lub gdy zostanie spełniony określony warunek. Za każdym razem, gdy wyzwalacz jest uruchamiany, usługa Azure Logic Apps tworzy wystąpienie przepływu pracy, które uruchamia aplikację logiki.

Dodawanie wyzwalacza usługi Azure Event Grid

Teraz dodaj wyzwalacz usługi Azure Event Grid, który służy do monitorowania grupy zasobów dla maszyny wirtualnej.

  1. W projektancie w polu wyszukiwania wprowadź ciąg event grid. Z listy wyzwalaczy wybierz wyzwalacz Po wystąpieniu zdarzenia zasobu.

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

  2. Po wyświetleniu monitu zaloguj się do usługi Azure Event Grid przy użyciu poświadczeń konta platformy Azure. Na liście Dzierżawa, która zawiera dzierżawę firmy Microsoft Entra skojarzoną z subskrypcją platformy Azure, sprawdź, czy jest wyświetlana poprawna dzierżawa, na przykład:

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

    Uwaga

    Jeśli logujesz się przy użyciu osobistego konta Microsoft, takiego jak @outlook.com lub @hotmail.com, wyzwalacz usługi Azure Event Grid może nie być poprawnie wyświetlany. Aby obejść ten problem, wybierz pozycję Połączenie z jednostką usługi lub uwierzytelnij się jako członek firmy Microsoft Entra skojarzonej z subskrypcją platformy Azure, na przykład user-name@emailoutlook.onmicrosoft.com.

  3. Teraz subskrybuj aplikację logiki do zdarzeń od wydawcy. Podaj szczegółowe informacje o subskrypcji zdarzeń zgodnie z opisem w poniższej tabeli, na przykład:

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

    Właściwości Wymagania Wartość Opis
    Subskrypcja Tak <event-publisher-Azure-subscription-name> Wybierz nazwę subskrypcji platformy Azure skojarzonej z wydawcą zdarzeń. Na potrzeby tego samouczka wybierz nazwę subskrypcji platformy Azure dla maszyny wirtualnej.
    Typ zasobu Tak <event-publisher-Azure-resource-type> Wybierz typ zasobu platformy Azure dla wydawcy zdarzeń. Aby uzyskać więcej informacji na temat typów zasobów platformy Azure, zobacz Dostawcy zasobów i typy platformy Azure. Na potrzeby tego samouczka Microsoft.Resources.ResourceGroups wybierz wartość do monitorowania grup zasobów platformy Azure.
    Nazwa zasobu Tak <event-publisher-Azure-resource-name> Wybierz nazwę zasobu platformy Azure dla wydawcy zdarzeń. Ta lista różni się w zależności od wybranego typu zasobu. Na potrzeby tego samouczka wybierz nazwę grupy zasobów platformy Azure, która zawiera maszynę wirtualną.
    Element typu zdarzenia Nie. <typy zdarzeń> Wybierz co najmniej jeden konkretny typ zdarzeń, aby filtrować i wysyłać je do usługi Azure Event Grid. Można na przykład opcjonalnie dodać te typy zdarzeń, aby wykryć, kiedy zasoby zostaną zmienione lub usunięte:

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

    Aby uzyskać więcej informacji, zobacz następujące tematy:

    - Schemat zdarzeń usługi Azure Event Grid dla grup zasobów
    - Omówienie filtrowania zdarzeń
    - Filtrowanie zdarzeń dla usługi Azure Event Grid

    Aby dodać opcjonalne właściwości, wybierz pozycję Dodaj nowy parametr, a następnie wybierz żądane właściwości. Nie. {patrz opisy} * Filtr prefiksu: na potrzeby tego samouczka pozostaw tę właściwość pustą. Zachowanie domyślne dopasowuje wszystkie wartości. Można jednak określić ciąg prefiksu jako filtr, na przykład ścieżkę i parametr dla konkretnego zasobu.

    * Filtr sufiksu: na potrzeby tego samouczka pozostaw tę właściwość pustą. Zachowanie domyślne dopasowuje wszystkie wartości. Można jednak określić ciąg sufiksu jako filtr, na przykład rozszerzenie nazwy pliku, aby uwzględniać tylko określone typy plików.

    * Nazwa subskrypcji: na potrzeby tego samouczka możesz podać unikatową nazwę subskrypcji zdarzeń.

  4. Zapisz przepływ pracy aplikacji logiki. Na pasku narzędzi projektanta wybierz pozycję Zapisz. Aby zwinąć i ukryć szczegóły akcji w przepływie pracy, wybierz pasek tytułu akcji.

    Screenshot that shows the workflow designer and the

    Po zapisaniu przepływu pracy aplikacji logiki za pomocą wyzwalacza usługi Azure Event Grid platforma Azure automatycznie tworzy subskrypcję zdarzeń dla aplikacji logiki do wybranego zasobu. Dlatego gdy zasób publikuje zdarzenie w usłudze Azure Event Grid, usługa automatycznie wypycha zdarzenie do aplikacji logiki. To zdarzenie wyzwala i uruchamia przepływ pracy aplikacji logiki zdefiniowany w następnych krokach.

Aplikacja logiki jest teraz aktywna i nasłuchuje zdarzeń z usługi Azure Event Grid, ale nie wykonuje żadnych czynności, dopóki nie dodasz akcji do przepływu pracy.

Dodaj warunek

Jeśli chcesz, aby przepływ pracy aplikacji logiki był uruchamiany tylko wtedy, gdy wystąpi określone zdarzenie lub operacja, dodaj warunek sprawdzający operację Microsoft.Compute/virtualMachines/write . Jeśli ten warunek jest spełniony, przepływ pracy aplikacji logiki wysyła wiadomość e-mail zawierającą szczegółowe informacje o zaktualizowanej maszynie wirtualnej.

  1. W projektancie przepływu pracy w obszarze wyzwalacza usługi Azure Event Grid wybierz pozycję Nowy krok.

    Screenshot that shows the workflow designer with

  2. W obszarze Wybierz akcję w polu wyszukiwania wprowadź jako condition filtr. Z listy akcji wybierz akcję Warunek .

    Screenshot that shows the workflow designer with

    Projektant przepływu pracy dodaje pusty warunek do przepływu pracy, w tym ścieżki akcji do wykonania na podstawie tego, czy warunek ma wartość true, czy false.

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

  3. Zmień nazwę tytułu warunku na If a virtual machine in your resource group has changed. Na pasku tytułu warunku wybierz przycisk wielokropka (...), a następnie wybierz pozycję Zmień nazwę.

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

  4. Utwórz warunek, który sprawdza zdarzenie body dla data obiektu, w którym operationName właściwość jest równa Microsoft.Compute/virtualMachines/write operacji. Dowiedz się więcej o schemacie zdarzeń usługi Azure Event Grid.

    1. W pierwszym wierszu w obszarze Oraz kliknij wewnątrz pola po lewej stronie. Na wyświetlonej liście zawartości dynamicznej wybierz pozycję Wyrażenie.

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

    2. W edytorze wyrażeń wprowadź to wyrażenie, które zwraca nazwę operacji z wyzwalacza, a następnie wybierz przycisk OK:

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

      Na przykład:

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

    3. W środkowym polu zachowaj operator jest równe.

    4. W prawym polu wprowadź operację, którą chcesz monitorować, co jest następującą wartością dla tego przykładu:

      Microsoft.Compute/virtualMachines/write

    Gotowy warunek wygląda teraz następująco:

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

    Jeśli przełączysz się z widoku projektu do widoku kodu i z powrotem do widoku projektu, wyrażenie określone w warunku zostanie rozpoznane jako token data.operationName :

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

  5. Zapisz aplikację logiki.

Wysyłanie powiadomień w wiadomościach e-mail

Teraz dodaj akcję , aby można było otrzymać wiadomość e-mail, gdy określony warunek ma wartość true.

  1. W polu W przypadku wartości true warunku wybierz pozycję Dodaj akcję.

    Screenshot that shows the workflow designer with the condition's

  2. W obszarze Wybierz akcję w polu wyszukiwania wprowadź jako send an email filtr. W oparciu o Twojego dostawcę poczty e-mail znajdź i wybierz zgodny łącznik. Następnie wybierz akcję „Wyślij wiadomość e-mail” dla Twojego łącznika. Na przykład:

    • Dla konta służbowego platformy Azure wybierz łącznik usługi Office 365 Outlook.

    • Dla osobistych kont Microsoft wybierz łącznik usługi Outlook.com.

    • Dla kont usługi Gmail wybierz łącznik usługi Gmail.

    Ten samouczek jest kontynuowany z łącznikiem usługi Office 365 Outlook. Jeśli używasz innego dostawcy, kroki pozostaną takie same, ale interfejs użytkownika może wyglądać nieco inaczej.

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

  3. Jeśli nie masz jeszcze połączenia z dostawcą poczty e-mail, po wyświetleniu monitu o uwierzytelnienie zaloguj się do swojego konta e-mail.

  4. Zmień nazwę akcji wyślij wiadomość e-mail na ten tytuł: Send email when virtual machine updated

  5. Podaj informacje o wiadomości e-mail określone w poniższej tabeli:

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

    Napiwek

    Aby wybrać dane wyjściowe z poprzednich kroków przepływu pracy, kliknij wewnątrz pola edycji, aby wyświetlić listę zawartości dynamicznej lub wybierz pozycję Dodaj zawartość dynamiczną. Aby uzyskać więcej wyników, wybierz pozycję Zobacz więcej dla każdej sekcji na liście. Aby zamknąć listę zawartości dynamicznej, wybierz ponownie pozycję Dodaj zawartość dynamiczną.

    Właściwości Wymagania Wartość Opis
    Do Tak <recipient@domain> Wprowadź adres e-mail adresata. Do celów testowych możesz użyć własnego adresu e-mail.
    Temat Tak Resource updated:Temat Wprowadź zawartość w polu tematu wiadomości e-mail. Na potrzeby tego samouczka wprowadź określony tekst i wybierz pole Temat zdarzenia. Tutaj temat wiadomości e-mail zawiera nazwę zaktualizowanego zasobu (maszyny wirtualnej).
    Treść Tak Resource:Temat

    Event type:Typ zdarzenia

    Event ID:IDENTYFIKATOR

    Time:Czas zdarzenia

    Wprowadź zawartość w polu treści wiadomości e-mail. W tym samouczku wprowadź określony tekst i wybierz pola Temat zdarzenia, Typ zdarzenia, Identyfikator i Czas zdarzenia, aby wiadomość e-mail zawierała zasób, który wyzwolił zdarzenie, typ zdarzenia, znacznik czasu zdarzenia i identyfikator zdarzenia dla aktualizacji. W tym samouczku zasób jest grupą zasobów platformy Azure wybraną w wyzwalaczu.

    Aby dodać puste wiersze w zawartości, naciśnij klawisze Shift + Enter.

    Uwaga

    Jeśli wybierzesz pole reprezentujące tablicę, projektant automatycznie dodaje pętlę Dla każdego wokół akcji, która odwołuje się do tablicy. Dzięki temu przepływ pracy aplikacji logiki wykonuje tę akcję na każdym elemencie tablicy.

    Teraz Twoja akcja wiadomości e-mail może wyglądać tak jak w tym przykładzie:

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

    Gotowy przepływ pracy aplikacji logiki może wyglądać podobnie do następującego przykładu:

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

  6. Zapisz aplikację logiki. Aby zwinąć i ukryć szczegóły każdej akcji w aplikacji logiki, wybierz pasek tytułu akcji.

    Aplikacja logiki jest teraz aktywna, ale czeka na zmiany maszyny wirtualnej, zanim wykona jakiekolwiek akcje. Aby przetestować przepływ pracy, przejdź do następnej sekcji.

Testowanie przepływu pracy aplikacji logiki

  1. Aby sprawdzić, czy przepływ pracy otrzymuje określone zdarzenia, zaktualizuj maszynę wirtualną.

    Można na przykład zmienić rozmiar maszyny wirtualnej.

    Po kilku chwilach powinna nadejść wiadomość e-mail. Na przykład:

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

  2. Aby przejrzeć historię przebiegów i wyzwalaczy aplikacji logiki, w menu aplikacji logiki wybierz pozycję Przegląd. Aby wyświetlić więcej szczegółów dotyczących przebiegu, wybierz wiersz dla tego przebiegu.

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

  3. Aby wyświetlić dane wejściowe i wyjściowe dla każdego kroku, rozwiń krok, który chcesz przejrzeć. Te informacje ułatwiają diagnozowanie i debugowanie problemów w aplikacji logiki.

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

Gratulacje, udało Ci się utworzyć i uruchomić przepływ pracy aplikacji logiki, który monitoruje zdarzenia zasobów za pośrednictwem usługi Azure Event Grid i wiadomości e-mail w przypadku wystąpienia tych zdarzeń. Wiesz już, jak łatwe jest tworzenie przepływów pracy automatyzujących procesy oraz integrowanie systemów i usług w chmurze.

Za pomocą usług Event Grid i Logic Apps możesz także monitorować inne zmiany, na przykład:

  • Maszyna wirtualna uzyskuje prawa kontroli dostępu na podstawie ról (RBAC) platformy Azure.
  • Wprowadzenie zmian w sieciowej grupie zabezpieczeń dla interfejsu sieciowego (karty sieciowej).
  • Dodanie lub usunięcie dysków dla maszyny wirtualnej.
  • Przypisanie publicznego adresu IP do karty sieciowej maszyny wirtualnej.

Czyszczenie zasobów

Ten samouczek używa zasobów i wykonuje akcje, które mogą spowodować naliczenie opłat w ramach Twojej subskrypcji platformy Azure. Gdy ukończysz pracę z samouczkiem i testowanie, upewnij się, że zostały wyłączone lub usunięte wszelkie zasoby, dla których nie chcesz naliczenia opłat.

  • Aby zatrzymać uruchamianie przepływu pracy bez usuwania pracy, wyłącz aplikację. W menu aplikacji logiki wybierz pozycję Przegląd. Na pasku narzędzi wybierz pozycję Wyłącz.

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

    Napiwek

    Jeśli nie widzisz menu aplikacji logiki, spróbuj wrócić do pulpitu nawigacyjnego platformy Azure i ponownie otworzyć aplikację logiki.

  • Aby trwale usunąć aplikację logiki, w menu aplikacji logiki wybierz pozycję Przegląd. Na pasku narzędzi wybierz pozycję Usuń. Upewnij się, że chcesz usunąć aplikację logiki, a następnie wybierz pozycję Usuń.

Następne kroki

Zapoznaj się z poniższymi przykładami, aby dowiedzieć się więcej na temat publikowania zdarzeń do usługi Azure Event Grid i korzystania z nich przy użyciu różnych języków programowania.