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.
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)
Mechanizm dostarczania wypychania usługi Event Grid 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 grupy i temat, aby uprościć zarządzanie kontrolą dostępu, i użyć obsługi zmiennych w szablonach tematów w celu precyzyjnej kontroli dostępu.
- Metody - uwierzytelniania brokera MQTT X.509 uwierzytelnianie certyfikatu jest standardem uwierzytelniania branżowego na urządzeniach IoT, microsoft Entra IDauthentication jest standardem uwierzytelniania platformy Azure dla aplikacji i uwierzytelniania OAuth 2.0 (JSON Web Token) zapewnia uproszczoną, bezpieczną i elastyczną opcję dla klientów MQTT, które nie są aprowizowane na platformie Azure.
- 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.
- Niestandardowe nazwy domen — umożliwia użytkownikom przypisywanie własnych nazw domen do punktów końcowych MQTT przestrzeni nazw usługi Event Grid, zwiększanie zabezpieczeń i upraszczanie konfiguracji klienta.
- Zdarzenia cyklu życia klienta — umożliwia aplikacjom reagowanie na zdarzenia dotyczące stanu połączenia klienta lub operacji zasobów klienta.
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. Jeśli używasz 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.
- Niestandardowe nazwy domen — umożliwia użytkownikom przypisywanie własnych nazw domen do punktów końcowych HTTP przestrzeni nazw usługi Event Grid, zwiększanie zabezpieczeń i upraszczanie konfiguracji klienta.
Uwaga
W przypadku wycofania protokołu TLS 1.0/1.1: w przypadku tematów systemowych należy podjąć akcję tylko dla dostarczania zdarzeń do miejsc docelowych elementu webhook. Jeśli miejsce docelowe obsługuje protokół TLS 1.2, dostarczanie zdarzeń odbywa się przy użyciu wersji 1.2. Jeśli miejsce docelowe nie obsługuje protokołu TLS 1.2, dostarczanie zdarzeń automatycznie wraca do wersji 1.0 i 1.1. Po 1 marca 2025 r. dostarczanie zdarzeń przy użyciu wersji 1.0 i 1.1 nie będzie obsługiwane. Upewnij się, że docelowe elementy webhook obsługują protokół TLS 1.2. Jednym z prostych sposobów sprawdzania obsługi protokołu TLS 1.2 jest użycie laboratoriów SSL Firmy Qualys. Jeśli raport pokazuje, że protokół TLS 1.2 jest obsługiwany, nie jest wymagana żadna akcja. Aby uzyskać więcej informacji, zobacz następujący wpis w blogu: Wycofanie: nadchodzące zmiany protokołu TLS dla usługi Azure 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.
Funkcja brokera MQTT usługi Azure Event Grid umożliwia wykonanie następujących scenariuszy.
Pozyskiwanie danych telemetrycznych IoT
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
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
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
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ń
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 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
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
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
Twoja własna usługa lub aplikacja publikuje zdarzenia w usłudze Event Grid, które przetwarzają aplikacje subskrybentów. Usługa Event Grid zawiera tematy przestrzeni nazw, aby spełnić wymagania dotyczące integracji i routingu na dużą skalę przy użyciu prostego modelu zasobów. Możesz również użyć tematów niestandardowych, aby spełnić podstawowe wymagania dotyczące integracji i domeny dla prostego modelu zarządzania i routingu, gdy konieczne jest dystrybuowanie zdarzeń do setek lub tysięcy różnych grup.
Odbieranie zdarzeń od partnera (dostawców SaaS)
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:
- Uwierzytelnianie 0
- Interfejs API programu Microsoft Graph. Za pomocą interfejsu API programu Microsoft Graph można pobierać zdarzenia z witryny Microsoft Entra ID, Microsoft Outlook, Teams, konwersacji, alertów zabezpieczeń i usługi Universal Print.
- Grupa plemienna
- SAP
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. Możesz na przykład wysyłać dane do elementu webhook, funkcji platformy Azure lub usługi Event Hubs. Aby uzyskać pełną listę obsługiwanych programów obsługi zdarzeń, zobacz:
- Programy obsługi zdarzeń obsługiwane w tematach przestrzeni nazw.
- Programy obsługi zdarzeń obsługiwane w tematach niestandardowych, systemowych, domenowych i partnerskich.
Dostarczanie ściągnięcia zdarzeń dyskretnych
Funkcje usługi Azure Event Grid ściągają dostarczanie rozwiązania CloudEvents. W tym trybie 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
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.
Korzystanie ze zdarzeń za pośrednictwem łącza prywatnego
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:
Region (Region) | Region (Region) | Region (Region) | Region (Region) |
---|---|---|---|
Australia Wschodnia | Australia Południowo-Wschodnia | Australia Środkowa | Australia Środkowa 2 |
Brazylia Południowa | Brazylia Południowo–Wschodnia | Kanada Środkowa | Kanada Wschodnia |
Indie Środkowe | Central US | Azja Wschodnia | East US |
Wschodnie stany USA 2 | Zachodnie stany USA | Francja Środkowa | Francja Południowa |
Niemcy Północne | Niemcy Środkowo-Zachodnie | Izrael Centralny | Włochy Północne |
Japonia Wschodnia | Japonia Zachodnia | Korea Środkowa | Korea Południowa |
Meksyk Środkowy | Północno-środkowe stany USA | Europa Północna | Norwegia Wschodnia |
Polska Środkowa | Zachodnia Republika Południowej Afryki | Północna Republika Południowej Afryki | South Central US |
Indie Południowe | Southeast Asia | Hiszpania Środkowa | Szwecja Środkowa |
Szwecja Południowa | Szwajcaria Północna | Szwajcaria Zachodnia | Północne Zjednoczone Emiraty Arabskie |
Środkowe Zjednoczone Emiraty Arabskie | Południowe Zjednoczone Królestwo | Zachodnie Zjednoczone Królestwo | West Europe |
Zachodnie stany USA 2 | Zachodnie stany USA 3 | Zachodnio-środkowe stany USA |
Następne kroki
Obsługa komunikatów MQTT
- Omówienie
- Publikowanie i subskrybowanie komunikatów MQTT
- Samouczek: kierowanie komunikatów MQTT do usługi Azure Event Hubs przy użyciu tematów przestrzeni nazw
- Samouczek: kierowanie komunikatów MQTT do usługi Azure Functions przy użyciu tematów niestandardowych
Dystrybucja danych przy użyciu dostarczania ściągania lub wypychania
- Omówienie dostarczania ściągnięcia.
- Omówienie dostarczania wypychanych.
- Pojęcia
- Szybki start: publikowanie i subskrybowanie zdarzeń aplikacji przy użyciu tematów przestrzeni nazw.