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.
Podstawowe funkcje
Poniżej przedstawiono dwie główne funkcje usługi Azure Event Grid:
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. Przyjrzyjmy się szczegółowo tym dwóm funkcjom:
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 Operations , aby połączyć możliwości brokera MQTT na urządzeniach brzegowych z funkcją brokera MQTT usługi Event Grid w chmurze. Broker MQTT usługi Azure IoT 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.
Oto kilka najważniejszych funkcji obsługi komunikatów MQTT w usłudze Azure Event Grid:
- 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 — użyj 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 — uwierzytelnianie certyfikatu X.509 jest standardem uwierzytelniania branżowego na urządzeniach IoT, a uwierzytelnianie za pomocą protokołu Microsoft Entra IDauthentication to standard 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łu Transport Layer Security (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.
Aby uzyskać więcej informacji na temat brokera MQTT, zobacz następujące artykuły:
- 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
Obsługa komunikatów zdarzeń (HTTP)
Usługa Event Grid obsługuje dostarczanie zdarzeń wypychania i ściągania przy użyciu protokołu HTTP. W przypadku dostarczania wypychanego należy zdefiniować miejsce docelowe w subskrypcji zdarzeń, do której usługa Event Grid wysyła zdarzenia. W przypadku dostarczania ściągnięcia aplikacje subskrybentów łączą się z usługą Event Grid w celu korzystania ze zdarzeń. Dostarczanie ściągania jest obsługiwane w przypadku tematów w przestrzeni nazw usługi Event Grid.
Procedury obsługi zdarzeń
W przypadku dostarczania wypychanego 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 wypychane a dostarczanie ściągnięcia
Poniżej przedstawiono ogólne wskazówki ułatwiające podjęcie decyzji o tym, kiedy używać dostarczania ściągania lub wypychania.
Dostarczanie ściągnięcia
- Potrzebujesz pełnej kontroli co do tego, kiedy odbierać zdarzenia. Na przykład aplikacja może nie być przez cały czas, nie wystarczająco stabilna lub przetwarzać dane w określonym czasie.
- Potrzebna jest pełna kontrola nad zużyciem zdarzeń. Na przykład usługa podrzędna lub warstwa w aplikacji konsumenta ma problem uniemożliwiający przetwarzanie zdarzeń. W takim przypadku interfejs API dostarczania ściągnięcia umożliwia aplikacji konsumenta zwolnienie już odczytanego zdarzenia z powrotem do brokera, aby można było go dostarczyć później.
- Chcesz użyć linków prywatnych podczas odbierania zdarzeń, co jest możliwe tylko w przypadku dostarczania ściągnięcia, a nie dostarczania wypychanych.
- Nie masz możliwości uwidocznienia punktu końcowego i używania dostarczania wypychanego, ale możesz nawiązać połączenie z usługą Event Grid w celu korzystania ze zdarzeń.
Dostarczanie wypychane
- Chcesz uniknąć ciągłego sondowania w celu określenia, czy nastąpiła zmiana stanu systemu. Zamiast tego używasz usługi Event Grid do wysyłania zdarzeń do Ciebie w momencie wystąpienia zmian stanu.
- Masz aplikację, która nie może wykonywać wywołań wychodzących. Na przykład Organizacja może być zaniepokojona eksfiltracją danych. Jednak aplikacja może odbierać zdarzenia za pośrednictwem publicznego punktu końcowego.
Poniżej przedstawiono niektóre najważniejsze informacje o modelu 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.
Aby uzyskać więcej informacji, zobacz następujące artykuły:
- 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.
Przypadki użycia
Aby uzyskać listę przypadków użycia usługi Azure Event Grid, zobacz Przypadki użycia
Obsługiwane regiony
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 |
Powiązana zawartość
- Omówienie obsługi komunikatów MQTT
- Omówienie dostarczania ściągania HTTP.
- Omówienie dostarczania wypychania HTTP.