Co to jest usługa Azure Event Grid?
Azure Event Grid to wysoce skalowalna, w pełni zarządzana usługa dystrybucji komunikatów podrzędnych pub, która oferuje elastyczne wzorce użycia komunikatów przy użyciu protokołów MQTT i HTTP. Za pomocą 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 v3.1.1 i v5.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ągania). Usługa Event Grid obsługuje specyfikację CloudEvents 1.0 w celu zapewnienia współdziałania między systemami.
Azure Event Grid to ogólnie dostępna usługa wdrożona w 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.
Uwaga
Następujące funkcje zostały wydane za pomocą interfejsu API 2023-06-01-preview:
- Obsługa protokołu MQTT w wersji 3.1.1 i 5.0 (wersja zapoznawcza)
- Użycie zdarzeń w stylu ściągania przy użyciu protokołu HTTP (wersja zapoznawcza)
Początkowe regiony, w których są dostępne te funkcje, to: Wschodnie stany USA, Środkowe stany USA, Południowo-środkowe stany USA, Zachodnie stany USA 2, Azja Wschodnia, Azja Południowo-Wschodnia, Europa Północna, Europa Zachodnia, Zjednoczone Emiraty Arabskie
Ważne
Funkcje obsługi komunikatów i dostarczania ściągania MQTT wraz z następującymi zasobami są obecnie dostępne w wersji zapoznawczej.
- Przestrzenie nazw
- Tematy dotyczące przestrzeni nazw
- Subskrypcje zdarzeń w tematach przestrzeni nazw
- Przestrzenie tematów
- Klienci
- Grupy klientów
- Certyfikaty
- Powiązania uprawnień
Omówienie
Azure Event Grid jest używany na różnych etapach potoków danych w celu osiągnięcia zróżnicowanego zestawu celów integracji.
Obsługa komunikatów MQTT (wersja zapoznawcza). 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 wypychania i dostarczania ściągania (wersja zapoznawcza). 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
- Twoje aplikacje niestandardowe
- Systemy partnerów zewnętrznych (SaaS)
Podczas konfigurowania usługi Event Grid na potrzeby 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. Są one następujące:
Obsługa komunikatów MQTT (wersja zapoznawcza)
- Obsługa protokołu MQTT w wersji 3.1.1 i MQTT w wersji 5.0 — użyj dowolnej biblioteki klienta open source MQTT do komunikowania się z usługą.
- Tematy niestandardowe z obsługą symboli wieloznacznych — wykorzystaj własną strukturę tematów.
- Model publikowania i subskrybowania komunikatów — efektywnie komunikują 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 certyfikatu X.509 — uwierzytelnianie urządzeń jest standardowym mechanizmem uwierzytelniania urządzeń w branży IoT.
- 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 ściągania (wersja zapoznawcza) 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 24-godzinny mechanizm ponawiania z wycofywaniem wykładniczym, aby upewnić się, że zdarzenia są dostarczane. Korzystając z dostarczania ściągania, 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, magazynu i wizualizacji, między innymi.
Obsługa protokołu MQTT w usłudze Event Grid jest idealna do realizacji 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.
Obsługa protokołu MQTT usługi Event Grid umożliwia realizację 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
Integruj dane z klientów MQTT, rozsyłając komunikaty MQTT do usług platformy Azure i elementów webhook za pośrednictwem funkcji dostarczania wypychanego HTTP . 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 danych telemetrycznych 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.
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 w usłudze Event Grid zapewnia poziom produktywności, ekonomii nakładu pracy i integracji lepsze od klasycznych modeli obliczeniowych, w których trzeba pozyskiwać, zabezpieczać i obsługiwać całą wdrożoną infrastrukturę oraz zarządzać nią.
Odbieranie zdarzeń z usług platformy Azure
Usługa Event Grid może odbierać zdarzenia z ponad 20 usług platformy Azure, dzięki czemu można zautomatyzować operacje. Na przykład można 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óra przetwarza aplikacje subskrybentów. Usługa Event Grid oferuje tematy niestandardowe , aby rozwiązać podstawowe scenariusze integracji i domeny w celu zaoferowania 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)
Dostawca lub platforma SaaS z wieloma dzierżawami 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:
- Auth0
- Microsoft interfejs Graph API. Za pośrednictwem usługi Microsoft interfejs Graph API można pobierać zdarzenia z Azure AD, Microsoft Outlook, Teams, Konwersacje, Alerty zabezpieczeń i Universal Print.
- Grupa plemienna
- SAP
Programy obsługi 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ń :
- Elementy webhook. Azure Automation elementy Runbook i Logic Apps są obsługiwane za pośrednictwem elementów webhook.
- Funkcje platformy Azure
- Event Hubs
- Kolejki i tematy usługi Service Bus
- Połączenia hybrydowe w usłudze Relay
- Kolejki magazynu
Ściąganie dostarczania zdarzeń dyskretnych
Azure Event Grid funkcje ściągają dostarczanie 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ągania.
Odbieranie zdarzeń we własnym tempie
Co najmniej jeden klient może łączyć się z Azure Event Grid w celu odczytywania komunikatów we własnym tempie. Usługa Event Grid zapewnia klientom pełną kontrolę nad użyciem zdarzeń. Aplikacja może odbierać zdarzenia o określonych porach dnia, na przykład. Rozwiązanie może również zwiększyć szybkość zuż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, aby nawiązać połączenie z 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 z dostarczaniem wypychanymi. 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ń.
Ile kosztuje korzystanie z usługi Event Grid?
Azure Event Grid oferuje dwie warstwy i korzysta z modelu cen płatności za użycie. Aby uzyskać szczegółowe informacje na temat cen, zobacz Azure Event Grid cennik. Aby dowiedzieć się więcej o możliwościach dla każdej warstwy, zobacz Wybieranie odpowiedniej warstwy usługi Event Grid.
Następne kroki
Obsługa komunikatów MQTT
- Omówienie
- Publikowanie i subskrybowanie komunikatów MQTT
- Kierowanie komunikatów MQTT do usługi Event Hubs