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:
- Utwórz konto usługi Blob Storage.
- Subskrybuj zdarzenia dla tego magazynu obiektów blob.
- Wyzwalanie zdarzenia przez przekazanie pliku do magazynu obiektów blob.
- 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.
Tworzenie konta magazynu
Zaloguj się do Portalu Azure.
Aby utworzyć magazyn Blob Storage, wybierz pozycję Utwórz zasób.
W polu Wyszukaj wprowadź konto magazynu i wybierz pozycję Konto magazynu z listy wyników.
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.
Na stronie Tworzenie konta magazynu wykonaj następujące czynności:
Wybierz subskrypcję platformy Azure.
W obszarze Grupa zasobów utwórz nową grupę zasobów lub wybierz istniejącą.
Wprowadź nazwę konta magazynu.
Wybierz region, w którym chcesz utworzyć konto magazynu.
W obszarze Nadmiarowość wybierz z listy rozwijanej pozycję Magazyn lokalnie nadmiarowy (LRS ).
Wybierz pozycję Przejrzyj w dolnej części strony.
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.
Ukończenie wdrożenia trwa kilka minut. Na stronie Wdrożenie wybierz pozycję Przejdź do zasobu.
Na stronie Konto magazynu wybierz pozycję Zdarzenia w menu po lewej stronie.
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.
Wybierz pozycję Wdróż na platformie Azure w celu wdrożenia rozwiązania w subskrypcji.
Na stronie Wdrażanie niestandardowe wykonaj następujące czynności:
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.
W polu Nazwa witryny wprowadź nazwę aplikacji internetowej.
W polu Nazwa planu hostingu wprowadź nazwę planu usługi App Service, która będzie używana do hostowania aplikacji internetowej.
Wybierz pozycję Przejrzyj i utwórz.
Na stronie Przeglądanie i tworzenie wybierz pozycję Utwórz.
Ukończenie wdrożenia trwa kilka minut. Na stronie Wdrażanie wybierz pozycję Przejdź do grupy zasobów.
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.
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
.Upewnij się, że witryna jest widoczna, ale nie wysłano do niej żadnych zdarzeń.
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:
W menu po lewej stronie wybierz pozycję Subskrypcje.
Wybierz subskrypcję, której chcesz użyć dla usługi Event Grid z listy subskrypcji.
Na stronie Subskrypcja wybierz pozycję Dostawcy zasobów w obszarze Ustawienia w menu po lewej stronie.
Wyszukaj ciąg Microsoft.EventGrid i upewnij się, że stan to Niezarejestrowany.
Wybierz pozycję Microsoft.EventGrid na liście dostawców.
Wybierz pozycję Zarejestruj na pasku poleceń.
Odśwież, aby upewnić się, że stan microsoft.EventGrid został zmieniony na Zarejestrowany.
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.
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.
Na stronie Konto magazynu wybierz pozycję Zdarzenia w menu po lewej stronie.
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.
Na stronie Tworzenie subskrypcji zdarzeń wykonaj następujące czynności:
Wprowadź nazwę subskrypcji zdarzeń.
Wprowadź nazwę tematu systemowego. Aby dowiedzieć się więcej o tematach systemowych, zobacz Omówienie tematów systemowych.
Wybierz pozycję Web Hook w polu Typ punktu końcowego.
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.Teraz na stronie Tworzenie subskrypcji zdarzeń wybierz pozycję Utwórz , aby utworzyć subskrypcję zdarzeń.
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.
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.
W witrynie Azure Portal przejdź do konta usługi Blob Storage i wybierz pozycję Kontenery w menu Let.
Wybierz pozycję + Kontener. Nadaj kontenerowi nazwę i użyj dowolnego poziomu dostępu, a następnie wybierz pozycję Utwórz.
Wybierz nowy kontener.
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.
Przejdź do pliku testowego i przekaż go.
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.
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: