Co to jest usługa Azure Event Grid?

Usługa Azure Event Grid to wysoce skalowalna, w pełni zarządzana usługa dystrybucji komunikatów Pub Sub, która oferuje elastyczne wzorce użycia komunikatów przy użyciu protokołów MQTT i HTTP. Za pomocą usługi Azure Event Grid można tworzyć potoki danych z danymi urządzenia, integrować aplikacje i tworzyć architektury bezserwerowe oparte na zdarzeniach. Usługa Event Grid umożliwia klientom publikowanie i subskrybowanie komunikatów za pośrednictwem protokołów MQTT w wersji 3.1.1 i 5.0 w celu obsługi rozwiązań Internetu rzeczy (IoT). Za pośrednictwem protokołu HTTP usługa Event Grid umożliwia tworzenie rozwiązań opartych na zdarzeniach, w których usługa wydawcy ogłasza zmiany stanu systemu (zdarzenia) dla aplikacji subskrybentów. Usługę Event Grid można skonfigurować do wysyłania zdarzeń do subskrybentów (dostarczanie wypychane) lub subskrybentów mogą łączyć się z usługą Event Grid w celu odczytu zdarzeń (dostarczanie ściągnięcia). Usługa Event Grid obsługuje specyfikację CloudEvents 1.0 w celu zapewnienia współdziałania między systemami.

Ogólny diagram usługi Event Grid przedstawiający wydawców i subskrybentów korzystających z protokołów MQTT i HTTP.

Usługa Azure Event Grid to ogólnie dostępna usługa wdrożona w różnych strefach dostępności we wszystkich regionach, które je obsługują. Aby uzyskać listę regionów obsługiwanych przez usługę Event Grid, zobacz Dostępność produktów według regionów.

Omówienie

Usługa Azure Event Grid jest używana na różnych etapach potoków danych w celu osiągnięcia zróżnicowanego zestawu celów integracji.

Obsługa komunikatów MQTT. Urządzenia i aplikacje IoT mogą komunikować się ze sobą za pośrednictwem protokołu MQTT. Usługa Event Grid może również służyć do kierowania komunikatów MQTT do usług platformy Azure lub niestandardowych punktów końcowych w celu dalszej analizy danych, wizualizacji lub magazynu. Ta integracja z usługami platformy Azure umożliwia tworzenie potoków danych rozpoczynających się od pozyskiwania danych z urządzeń IoT.

Dystrybucja danych przy użyciu trybów dostarczania wypychania i ściągania. W dowolnym momencie potoku danych aplikacje HTTP mogą korzystać z komunikatów przy użyciu interfejsów API wypychania lub ściągania. Źródło danych może obejmować dane klientów MQTT, ale także następujące źródła danych, które wysyłają swoje zdarzenia za pośrednictwem protokołu HTTP:

  • Usługi platformy Azure
  • Aplikacje niestandardowe
  • Systemy partnerów zewnętrznych (SaaS)

W przypadku korzystania z dostarczania wypychanych usługa Event Grid może wysyłać dane do miejsc docelowych , które obejmują własne elementy webhook aplikacji i usługi platformy Azure.

Możliwości

Usługa Event Grid oferuje bogatą mieszankę funkcji. Do tych funkcji należą:

Obsługa komunikatów MQTT

  • Obsługa MQTT v3.1.1 i MQTT v5.0 — użyj dowolnej biblioteki klienta MQTT typu open source do komunikowania się z usługą.
  • Tematy niestandardowe z obsługą symboli wieloznacznych — skorzystaj z własnej struktury tematu.
  • Model publikowania i subskrybowania komunikatów — efektywne komunikowanie się przy użyciu wzorców obsługi komunikatów "jeden do wielu", "wiele do jednego" i "jeden do jednego".
  • Wbudowana integracja z chmurą — kierowanie komunikatów MQTT do usług platformy Azure lub niestandardowych elementów webhook w celu dalszego przetwarzania.
  • Elastyczny i precyzyjny model kontroli dostępu — klienci grup i temat, aby uprościć zarządzanie kontrolą dostępu, oraz użyć obsługi zmiennych w szablonach tematów w celu precyzyjnej kontroli dostępu.
  • Uwierzytelnianie certyfikatów X.509 — uwierzytelnianie urządzeń przy użyciu standardowego mechanizmu uwierzytelniania WoT w branży.
  • Uwierzytelnianie w usłudze Microsoft Entra ID (dawniej Azure Active Directory) — uwierzytelnianie aplikacji przy użyciu standardowego mechanizmu platformy Azure na potrzeby uwierzytelniania.
  • Obsługa protokołów TLS 1.2 i TLS 1.3 — zabezpieczanie komunikacji klienta przy użyciu niezawodnych protokołów szyfrowania.
  • Obsługa wielu sesji — łączenie aplikacji z wieloma aktywnymi sesjami w celu zapewnienia niezawodności i skalowalności.
  • Protokół MQTT za pośrednictwem obiektów WebSocket — umożliwia łączność dla klientów w środowiskach z ograniczeniami zapory.

Obsługa komunikatów zdarzeń (HTTP)

  • Elastyczny model użycia zdarzeń — w przypadku korzystania z protokołu HTTP korzystaj ze zdarzeń przy użyciu trybu dostarczania ściągania lub wypychania.
  • Zdarzenia systemowe — szybkie uruchamianie za pomocą wbudowanych zdarzeń usługi platformy Azure.
  • Własne zdarzenia aplikacji — usługa Event Grid umożliwia kierowanie, filtrowanie i niezawodne dostarczanie zdarzeń niestandardowych z aplikacji.
  • Zdarzenia partnerów — subskrybuj zdarzenia dostawcy SaaS partnera i przetwarzaj je na platformie Azure.
  • Zaawansowane filtrowanie — filtruj według typu zdarzenia lub innych atrybutów zdarzeń, aby upewnić się, że programy obsługi zdarzeń lub aplikacje konsumenckie odbierają tylko odpowiednie zdarzenia.
  • Niezawodność — dostarczanie wypychane oferuje mechanizm ponawiania 24-godzinnego z wykładniczym wycofywaniem, aby upewnić się, że zdarzenia są dostarczane. Przy użyciu dostarczania ściągnięcia aplikacja ma pełną kontrolę nad zużyciem zdarzeń.
  • Wysoka przepływność — twórz rozwiązania zintegrowane o dużej ilości za pomocą usługi Event Grid.

Przypadki użycia

Usługa Event Grid obsługuje następujące przypadki użycia:

Obsługa komunikatów MQTT

Usługa Event Grid umożliwia klientom komunikowanie się z niestandardowymi nazwami tematów MQTT przy użyciu modelu obsługi komunikatów publikowania i subskrybowania. Usługa Event Grid obsługuje klientów, którzy publikują i subskrybują komunikaty za pośrednictwem protokołu MQTT w wersji 3.1.1, MQTT 3.1.1 za pośrednictwem obiektów WebSocket, MQTT v5 i MQTT v5 za pośrednictwem obiektów WebSocket. Usługa Event Grid umożliwia wysyłanie komunikatów MQTT do chmury na potrzeby analizy danych, przechowywania i wizualizacji, między innymi przypadków użycia.

Usługa Event Grid integruje się z usługą Azure IoT MQQ, aby połączyć możliwości brokera MQTT na urządzeniach brzegowych z funkcją brokera MQTT usługi Event Grid w chmurze. Azure IoT MQ to nowy rozproszony broker MQTT do przetwarzania brzegowego działający w klastrach Kubernetes z obsługą usługi Arc. Jest ona teraz dostępna w publicznej wersji zapoznawczej w ramach operacji usługi Azure IoT.

Funkcja brokera MQTT w usłudze Azure Event Grid jest idealna do wdrażania między innymi scenariuszy motoryzacyjnych i mobilnych. Zapoznaj się z architekturą referencyjną, aby dowiedzieć się, jak tworzyć bezpieczne i skalowalne rozwiązania do łączenia milionów pojazdów z chmurą przy użyciu usług obsługi komunikatów i analizy danych platformy Azure.

Ogólny diagram usługi Event Grid przedstawiający dwukierunkową komunikację MQTT z klientami wydawcy i subskrybenta.

Funkcja brokera MQTT usługi Azure Event Grid umożliwia wykonanie następujących scenariuszy.

Pozyskiwanie danych telemetrycznych IoT

Ogólny diagram usługi Event Grid przedstawiający klientów IoT przy użyciu protokołu MQTT do wysyłania komunikatów do aplikacji w chmurze.

Pozyskiwanie danych telemetrycznych przy użyciu wzorca obsługi komunikatów wiele do jednego. Na przykład użyj usługi Event Grid, aby wysyłać dane telemetryczne z wielu urządzeń IoT do aplikacji w chmurze. Ten wzorzec umożliwia aplikacji odciążenie obciążenia związanego z zarządzaniem dużą liczbą połączeń z urządzeniami z usługą Event Grid.

Sterowanie i kontrola

Ogólny diagram usługi Event Grid przedstawiający aplikację w chmurze wysyłającą komunikat polecenia przez MQTT do urządzenia przy użyciu tematów żądania i odpowiedzi.

Kontroluj klientów MQTT przy użyciu wzorca komunikatu request-response (jeden do jednego). Na przykład użyj usługi Event Grid, aby wysłać polecenie z aplikacji w chmurze do urządzenia IoT.

Alerty emisji

Ogólny diagram usługi Event Grid przedstawiający aplikację w chmurze wysyłającą komunikat alertu za pośrednictwem protokołu MQTT do kilku urządzeń.

Emituj alerty do floty klientów przy użyciu wzorca obsługi komunikatów jeden do wielu . Na przykład użyj usługi Event Grid, aby wysłać alert z aplikacji w chmurze do wielu urządzeń IoT. Ten wzorzec umożliwia aplikacji publikowanie tylko jednego komunikatu replikowanego przez usługę dla każdego zainteresowanego klienta.

Integrowanie danych MQTT

Diagram przedstawiający kilka urządzeń IoT wysyłających dane kondycji za pośrednictwem protokołu MQTT do usługi Event Grid, a następnie do usługi Event Hubs i z tej usługi do usługi Azure Stream Analytics.

Integrowanie danych z klientów MQTT przez routing komunikatów MQTT do usług platformy Azure i niestandardowych punktów końcowych za pośrednictwem dostarczania wypychanego lub dostarczania ściągnięcia. Na przykład użyj usługi Event Grid, aby kierować dane telemetryczne z urządzeń IoT do usługi Event Hubs, a następnie do usługi Azure Stream Analytics, aby uzyskać szczegółowe informacje z telemetrii urządzenia.

Wypychanie dostarczania zdarzeń dyskretnych

Usługę Event Grid można skonfigurować do wysyłania zdarzeń do zróżnicowanego zestawu usług platformy Azure lub elementów webhook przy użyciu dostarczania zdarzeń wypychanych. Źródła zdarzeń obejmują niestandardowe aplikacje, usługi platformy Azure i usługi partnerskie (SaaS), które publikują zdarzenia ogłaszające zmiany stanu systemu (nazywane również zdarzeniami dyskretnymi). Z kolei usługa Event Grid dostarcza te zdarzenia do skonfigurowanych miejsc docelowych subskrybentów.

Dostarczanie wypychane usługi Event Grid umożliwia realizację następujących przypadków użycia.

Uwaga

Dostarczanie wypychane zdarzeń jest dostępne w warstwie podstawowa usługi Event Grid i w warstwie Standardowa usługi Event Grid, aby dowiedzieć się więcej o różnicach, zobacz wybieranie odpowiedniej warstwy usługi Event Grid dla rozwiązania.

Tworzenie rozwiązań bezserwerowych opartych na zdarzeniach

Diagram przedstawiający zdarzenia publikowania usługi Azure Functions w usłudze Event Grid przy użyciu protokołu HTTP. Następnie usługa Event Grid wysyła te zdarzenia do usługi Azure Logic Apps.

Usługa Event Grid umożliwia tworzenie rozwiązań bezserwerowych za pomocą usług Azure Functions Apps, Logic Apps i API Management. Korzystanie z usług bezserwerowych z usługą Event Grid zapewnia poziom produktywności, ekonomii nakładu pracy i integracji lepszy od klasycznych modeli obliczeniowych, w których trzeba pozyskiwać, zabezpieczać i obsługiwać całą wdrożoną infrastrukturę.

Odbieranie zdarzeń z usług platformy Azure

Diagram przedstawiający zdarzenia publikowania usługi Blob Storage w usłudze Event Grid za pośrednictwem protokołu HTTP. Usługa Event Grid wysyła te zdarzenia do programów obsługi zdarzeń, które są elementami webhook lub usługami platformy Azure.

Usługa Event Grid może odbierać zdarzenia z 20+ usług platformy Azure, dzięki czemu można zautomatyzować operacje. Możesz na przykład skonfigurować usługę Event Grid tak, aby odbierała zdarzenie po utworzeniu nowego obiektu blob na koncie usługi Azure Storage, aby aplikacja podrzędna mogła odczytywać i przetwarzać jego zawartość. Aby uzyskać listę wszystkich obsługiwanych usług i zdarzeń platformy Azure, zobacz Tematy systemowe.

Odbieranie zdarzeń z aplikacji

Diagram przedstawiający zdarzenia publikowania aplikacji klienta w usłudze Event Grid przy użyciu protokołu HTTP. Usługa Event Grid wysyła te zdarzenia do elementów webhook lub usług platformy Azure.

Twoja własna usługa lub aplikacja publikuje zdarzenia w usłudze Event Grid, które przetwarzają aplikacje subskrybentów. Usługa Event Grid udostępnia tematy niestandardowe, aby rozwiązać podstawowe scenariusze integracji i domeny , aby oferować prosty model zarządzania i routingu, gdy konieczne jest dystrybuowanie zdarzeń do setek lub tysięcy różnych grup.

Odbieranie zdarzeń od partnera (dostawców SaaS)

Diagram przedstawiający zdarzenie publikowania aplikacji partnera zewnętrznego w usłudze Event Grid przy użyciu protokołu HTTP. Usługa Event Grid wysyła te zdarzenia do elementów webhook lub usług platformy Azure.

Wielodostępny dostawca lub platforma SaaS mogą publikować swoje zdarzenia w usłudze Event Grid za pośrednictwem funkcji o nazwie Zdarzenia partnerskie. Możesz na przykład subskrybować te zdarzenia i automatyzować zadania. Zdarzenia od następujących partnerów są obecnie dostępne:

Obsługa zdarzeń

Subskrypcja zdarzeń to ogólny zasób konfiguracji, który umożliwia zdefiniowanie programu obsługi zdarzeń lub miejsca docelowego, do którego zdarzenia są wysyłane przy użyciu dostarczania wypychanego. Obsługiwane są następujące programy obsługi zdarzeń:

Dostarczanie ściągnięcia zdarzeń dyskretnych

Funkcje usługi Azure Event Grid ściągają dostarczanie rozwiązania CloudEvents. Korzystając z tego trybu dostarczania, klienci łączą się z usługą Event Grid w celu odczytywania zdarzeń. Następujące przypadki użycia można zrealizować przy użyciu dostarczania ściągnięcia.

Odbieranie zdarzeń we własnym tempie

Ogólny diagram aplikacji wydawcy i odbiorcy. Wydawca wysyła zdarzenia do usługi Event Grid w większym tempie niż wskaźnik zużycia zdarzeń subskrybenta.

Co najmniej jeden klient może nawiązać połączenie z usługą Azure Event Grid, aby odczytywać komunikaty we własnym tempie. Usługa Event Grid zapewnia klientom pełną kontrolę nad zużyciem zdarzeń. Aplikacja może odbierać zdarzenia o określonych porach dnia, na przykład. Rozwiązanie może również zwiększyć szybkość użycia, dodając więcej klientów odczytujących z usługi Event Grid.

Ogólny diagram aplikacji konsumenta w sieci wirtualnej zdarzeń odczytu z usługi Event Grid za pośrednictwem prywatnego punktu końcowego wewnątrz sieci wirtualnej.

Możesz skonfigurować łącza prywatne w celu nawiązania połączenia z usługą Azure Event Grid w celu publikowania i odczytywania usługi CloudEvents za pośrednictwem prywatnego punktu końcowego w sieci wirtualnej. Ruch między siecią wirtualną a usługą Event Grid jest kierowany do sieci szkieletowej firmy Microsoft.

Ważne

Linki prywatne są dostępne z dostarczaniem ściągnięcia, a nie przy dostarczaniu wypychanych. Możesz użyć linków prywatnych, gdy aplikacja łączy się z usługą Event Grid w celu publikowania zdarzeń lub odbierania zdarzeń, a nie wtedy, gdy usługa Event Grid łączy się z elementem webhook lub usługą platformy Azure w celu dostarczania zdarzeń.

Regiony, w których dostępna jest przestrzeń nazw usługi Event Grid

Oto lista regionów, w których są dostępne nowe funkcje tematów brokera I przestrzeni nazw MQTT:

  • Australia Wschodnia
  • Australia Południowo-Wschodnia
  • Brazylia Południowa
  • Brazylia Południowo–Wschodnia
  • Kanada Środkowa
  • Kanada Wschodnia
  • Indie Środkowe
  • Central US
  • Azja Wschodnia
  • East US
  • Wschodnie stany USA 2
  • Francja Środkowa
  • Niemcy Środkowo-Zachodnie
  • Izrael Centralny
  • Włochy Północne
  • Japonia Wschodnia
  • Japonia Zachodnia
  • Korea Środkowa
  • Korea Południowa
  • Północno-środkowe stany USA
  • Europa Północna
  • Norwegia Wschodnia
  • Polska Środkowa
  • Zachodnia Republika Południowej Afryki
  • South Central US
  • Indie Południowe
  • Southeast Asia
  • Szwecja Środkowa
  • Szwajcaria Północna
  • Północne Zjednoczone Emiraty Arabskie
  • Południowe Zjednoczone Królestwo
  • Zachodnie Zjednoczone Królestwo
  • West Europe
  • Zachodnie stany USA 2
  • Zachodnie stany USA 3

Następne kroki

Obsługa komunikatów MQTT

Dystrybucja danych przy użyciu dostarczania ściągania lub wypychania

Zobacz też