Kierowanie zdarzeń usługi Blob Storage do internetowego punktu końcowego (azure portal) przy użyciu usługi Azure Event Grid

Event Grid to w pełni zarządzana usługa, która umożliwia łatwe zarządzanie zdarzeniami w wielu różnych usługach i aplikacjach platformy Azure. Upraszcza tworzenie aplikacji opartych na zdarzeniach i bezserwerowych. Aby zapoznać się z omówieniem usługi, zobacz Omówienie usługi Event Grid.

W tym artykule wykonasz następujące zadania za pomocą witryny Azure Portal:

  1. Utwórz konto usługi Blob Storage.
  2. Subskrybuj zdarzenia dla tego magazynu obiektów blob.
  3. Wyzwalanie zdarzenia przez przekazanie pliku do magazynu obiektów blob.
  4. Wyświetl wynik w aplikacji internetowej programu obsługi. Zazwyczaj użytkownik wysyła zdarzenia do punktu końcowego, w którym następuje przetwarzanie danych zdarzenia i są wykonywane akcje. Aby zachować prostotę, wysyłasz zdarzenia do aplikacji internetowej, która zbiera i wyświetla komunikaty.

Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto platformy Azure.

Po zakończeniu przekonasz się, że dane zdarzenia zostały wysłane do aplikacji internetowej.

Screenshot that shows the sample Azure Event Grid Viewer app with an event.

Tworzenie konta magazynu

  1. Zaloguj się do Portalu Azure.

  2. Aby utworzyć magazyn Blob Storage, wybierz pozycję Utwórz zasób.

  3. W polu Wyszukaj wprowadź konto magazynu i wybierz pozycję Konto magazynu z listy wyników.

    Screenshot showing the search for Storage account on the Create a resource page.

  4. Na stronie Konto magazynu wybierz pozycję Utwórz, aby rozpocząć tworzenie konta magazynu. Aby zasubskrybować zdarzenia, należy utworzyć konto usługi Storage ogólnego przeznaczenia w wersji 2 lub konto usługi Blob Storage.

  5. Na stronie Tworzenie konta magazynu wykonaj następujące czynności:

    1. Wybierz subskrypcję platformy Azure.

    2. W obszarze Grupa zasobów utwórz nową grupę zasobów lub wybierz istniejącą.

    3. Wprowadź nazwę konta magazynu.

    4. Wybierz region, w którym chcesz utworzyć konto magazynu.

    5. W obszarze Nadmiarowość wybierz z listy rozwijanej pozycję Magazyn lokalnie nadmiarowy (LRS ).

    6. Wybierz pozycję Przejrzyj w dolnej części strony.

      Screenshot showing the Create a storage account page.

    7. Na stronie Przegląd przejrzyj ustawienia i wybierz pozycję Utwórz.

      Uwaga

      Tylko konta magazynu rodzaju StorageV2 (ogólnego przeznaczenia w wersji 2) i BlobStorage obsługują integrację zdarzeń. Usługa Storage (ogólnego przeznaczenia w wersji 1) nie obsługuje integracji z usługą Event Grid.

  6. Ukończenie wdrożenia trwa kilka minut. Na stronie Wdrożenie wybierz pozycję Przejdź do zasobu.

    Screenshot showing the deployment succeeded page with a link to go to the resource.

  7. Na stronie Konto magazynu wybierz pozycję Zdarzenia w menu po lewej stronie.

    Screenshot showing the Events page for an Azure storage account.

  8. Pozostaw tę stronę w otwartej przeglądarce internetowej.

Tworzenie punktu końcowego komunikatów

Przed zasubskrybowaniem zdarzeń w ramach usługi Blob Storage utwórzmy punkt końcowy dla komunikatów o zdarzeniach. Zazwyczaj w punkcie końcowym akcje są wykonywane na podstawie danych zdarzenia. Aby uprościć ten przewodnik Szybki start, wdrożysz wstępnie utworzoną aplikację internetową, która wyświetla komunikaty o zdarzeniach. Wdrożone rozwiązanie zawiera plan usługi App Service, aplikację internetową usługi App Service i kod źródłowy z repozytorium GitHub.

  1. Wybierz pozycję Wdróż na platformie Azure w celu wdrożenia rozwiązania w subskrypcji.

    Button to deploy the Resource Manager template to Azure.

  2. Na stronie Wdrażanie niestandardowe wykonaj następujące czynności:

    1. W obszarze Grupa zasobów wybierz grupę zasobów utworzoną podczas tworzenia konta magazynu. Po zakończeniu pracy z samouczkiem łatwiej będzie wyczyścić grupę zasobów.

    2. W polu Nazwa witryny wprowadź nazwę aplikacji internetowej.

    3. W polu Nazwa planu hostingu wprowadź nazwę planu usługi App Service, która będzie używana do hostowania aplikacji internetowej.

    4. Wybierz pozycję Przejrzyj i utwórz.

      Screenshot showing the Custom deployment page.

  3. Na stronie Przeglądanie i tworzenie wybierz pozycję Utwórz.

  4. Ukończenie wdrożenia trwa kilka minut. Na stronie Wdrażanie wybierz pozycję Przejdź do grupy zasobów.

    Screenshot showing the deployment succeeded page with a link to go to the resource group.

  5. Na stronie Grupa zasobów na liście zasobów wybierz utworzoną aplikację internetową. Zostanie również wyświetlony plan usługi App Service i konto magazynu na tej liście.

    Screenshot that shows the selection of web app in the resource group.

  6. Na stronie App Service aplikacji internetowej wybierz adres URL, aby przejść do witryny internetowej. Adres URL powinien mieć następujący format: https://<your-site-name>.azurewebsites.net.

    Screenshot that shows the selection of link to navigate to web app.

  7. Upewnij się, że witryna jest widoczna, ale nie wysłano do niej żadnych zdarzeń.

    View new site.

    Ważne

    Pozostaw otwarte okno Podgląd usługi Azure Event Grid, aby zobaczyć zdarzenia w miarę ich ogłaszania.

Rejestrowanie dostawcy zasobów usługi Event Grid

Jeśli usługa Event Grid nie została wcześniej użyta, musisz zarejestrować dostawcę zasobów usługi Event Grid. Jeśli wcześniej użyto usługi Event Grid, przejdź do następnej sekcji.

W witrynie Azure Portal wykonaj następujące czynności:

  1. W menu po lewej stronie wybierz pozycję Subskrypcje.

  2. Wybierz subskrypcję, której chcesz użyć dla usługi Event Grid z listy subskrypcji.

  3. Na stronie Subskrypcja wybierz pozycję Dostawcy zasobów w obszarze Ustawienia w menu po lewej stronie.

  4. Wyszukaj ciąg Microsoft.EventGrid i upewnij się, że stan to Niezarejestrowany.

  5. Wybierz pozycję Microsoft.EventGrid na liście dostawców.

  6. Wybierz pozycję Zarejestruj na pasku poleceń.

    Image showing the registration of Microsoft.EventGrid provider with the Azure subscription.

  7. Odśwież, aby upewnić się, że stan microsoft.EventGrid został zmieniony na Zarejestrowany.

    Image showing the successful registration of Microsoft.EventGrid provider with the Azure subscription.

Subskrybowanie usługi Blob Storage

Subskrybowanie tematu ma poinformować usługę Event Grid o tym, które zdarzenia chcesz śledzić i gdzie mają być one wysyłane.

  1. Jeśli zamknięto stronę Konto magazynu, przejdź do utworzonego wcześniej konta usługi Azure Storage. W menu po lewej stronie wybierz pozycję Wszystkie zasoby i wybierz konto magazynu.

  2. Na stronie Konto magazynu wybierz pozycję Zdarzenia w menu po lewej stronie.

  3. Wybierz kolejno pozycje Więcej opcji i Element webhook. Wysyłasz zdarzenia do aplikacji przeglądarki przy użyciu elementu webhook dla punktu końcowego.

    Screenshot showing the selection of Web Hook on the Events page.

  4. Na stronie Tworzenie subskrypcji zdarzeń wykonaj następujące czynności:

    1. Wprowadź nazwę subskrypcji zdarzeń.

    2. Wprowadź nazwę tematu systemowego. Aby dowiedzieć się więcej o tematach systemowych, zobacz Omówienie tematów systemowych.

      Screenshot showing the Create Event Subscription page with a name for the system topic.

    3. Wybierz pozycję Web Hook w polu Typ punktu końcowego.

      Screenshot showing the Create Event Subscription page with Web Hook selected as an endpoint.

  5. W polu Punkt końcowy wybierz pozycję Wybierz punkt końcowy, a następnie wprowadź adres URL aplikacji internetowej i dodaj api/updates go do adresu URL strony głównej (na przykład: https://spegridsite.azurewebsites.net/api/updates), a następnie wybierz pozycję Potwierdź wybór.

    Screenshot showing the Select Web Hook page.

  6. Teraz na stronie Tworzenie subskrypcji zdarzeń wybierz pozycję Utwórz , aby utworzyć subskrypcję zdarzeń.

    Screenshot showing the Create Event Subscription page with all fields selected.

  7. Wyświetl aplikację sieci Web ponownie i zwróć uwagę, że zdarzenie sprawdzania poprawności subskrypcji zostało do niej wysłane. Wybierz ikonę oka, aby rozwinąć dane zdarzenia. Usługa Event Grid wysyła zdarzenie weryfikacji, aby w punkcie końcowym mogło nastąpić sprawdzenie, czy dane zdarzenia mają być odbierane. Aplikacja internetowa zawiera kod do sprawdzania poprawności subskrypcji.

    Screenshot showing the Event Grid Viewer with the subscription validation event.

Teraz wyzwólmy zdarzenie, aby zobaczyć, jak usługa Event Grid dystrybuuje komunikat do punktu końcowego.

Wysyłanie zdarzenia do punktu końcowego

Zdarzenie magazynu Blob Storage jest wyzwalane przez przekazanie pliku. Plik nie wymaga żadnej określonej zawartości.

  1. W witrynie Azure Portal przejdź do konta usługi Blob Storage i wybierz pozycję Kontenery w menu Let.

  2. Wybierz pozycję + Kontener. Nadaj kontenerowi nazwę i użyj dowolnego poziomu dostępu, a następnie wybierz pozycję Utwórz.

    Screenshot showing the New container page.

  3. Wybierz nowy kontener.

    Screenshot showing the selection of the container.

  4. Aby przekazać plik, wybierz pozycję Przekaż. Na stronie Przekazywanie obiektu blob przeglądaj i wybierz plik, który chcesz przekazać do testowania, a następnie wybierz pozycję Przekaż na tej stronie.

    Screenshot showing Upload blob page.

  5. Przejdź do pliku testowego i przekaż go.

  6. Zdarzenie zostało wyzwolone, a usługa Event Grid wysłała komunikat do punktu końcowego skonfigurowanego podczas subskrybowania. Komunikat jest w formacie JSON i zawiera tablicę z co najmniej jednym zdarzeniem. W poniższym przykładzie komunikat JSON zawiera tablicę z jednym zdarzeniem. Wyświetl aplikację internetową i zwróć uwagę, że odebrano zdarzenie utworzone przez obiekt blob.

    Screenshot showing the Event Grid Viewer page with the Blob Created event.

Czyszczenie zasobów

Jeśli zamierzasz kontynuować pracę z tym zdarzeniem, nie usuwaj zasobów utworzonych w tym artykule. W przeciwnym razie usuń zasoby utworzone w ramach tego artykułu.

Wybierz grupę zasobów, a następnie wybierz pozycję Usuń grupę zasobów.

Następne kroki

Wiesz już, jak tworzyć tematy niestandardowe i subskrypcje zdarzeń. Dowiedz się więcej na temat tego, co może Ci ułatwić usługa Event Grid: