Udostępnij za pomocą


Co to jest usługa Azure Event Grid?

Usługa Azure Event Grid to wysoce skalowalna i w pełni zarządzana usługa publikowania-subskrybowania na potrzeby dystrybucji komunikatów. Usługa Event Grid oferuje elastyczne wzorce użycia komunikatów i korzysta z protokołów PROTOKOŁU HTTP i transportu telemetrii kolejkowania komunikatów (MQTT). Usługa Event Grid umożliwia tworzenie potoków danych z danymi urządzenia, integrowanie aplikacji i tworzenie architektur bezserwerowych opartych 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 można użyć usługi Event Grid do tworzenia 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ć tak, aby wysyłała zdarzenia do subskrybentów (dostarczanie wypychane) lub subskrybenci mogą łączyć się z usługą Event Grid w celu odczytywania zdarzeń (dostarczanie ściągnięcia). Usługa Event Grid obsługuje specyfikację CloudEvents 1.0 w celu zapewnienia współdziałania między systemami.

Diagram przedstawiający wydawców i subskrybentów przy użyciu protokołów MQTT i HTTP.

Podstawowe funkcje

Usługa Event Grid ma dwie główne funkcje:

Obsługa komunikatów MQTT: urządzenia i aplikacje IoT mogą komunikować się ze sobą za pośrednictwem protokołu MQTT. Za pomocą usługi Event Grid można również kierować komunikaty MQTT do usług platformy Azure lub niestandardowych punktów końcowych w celu dalszej analizy danych, wizualizacji lub magazynu. Korzystając z tej integracji z usługami platformy Azure, można tworzyć potoki danych rozpoczynające się od pozyskiwania danych z urządzeń IoT.

Dystrybucja danych przy użyciu trybów dostarczania wypychania i ściągania: w dowolnym momencie w 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 obejmuje również 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 (oprogramowanie jako usługa)

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. Poniżej przedstawiono te dwie funkcje.

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 protokołu WebSocket, MQTT v5 i MQTT v5 za pośrednictwem protokołu WebSocket.

Usługa Event Grid obsługuje również urządzenia i usługi, które wysyłają komunikaty MQTT za pośrednictwem protokołu HTTPS, co upraszcza integrację z klientami innych niż MQTT. 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. Ta funkcja jest obecnie dostępna w wersji zapoznawczej.

Usługa Event Grid integruje się z operacjami usługi Azure IoT , 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 na potrzeby obliczeń brzegowych działających w klastrach Kubernetes z obsługą usługi Azure Arc. Jest ona teraz dostępna w ramach operacji usługi Azure IoT.

Funkcja brokera MQTT w usłudze Event Grid jest idealna między innymi w scenariuszach motoryzacyjnych, mobilnych i produkcyjnych. Aby dowiedzieć się, jak tworzyć bezpieczne i skalowalne rozwiązania umożliwiające łączenie milionów klientów MQTT z chmurą przy użyciu usług azure messaging i data analytics, zobacz architektury referencyjne dotyczące branży motoryzacyjnej i produkcyjnej .

Diagram przedstawiający dwukierunkową komunikację MQTT z klientami wydawcy i subskrybentów.

Najważniejsze funkcje obsługi komunikatów MQTT w usłudze Event Grid:

  • ObsługaMQTT v3.1.1 i MQTT v5.0: używa dowolnej biblioteki klienta MQTT typu open source do komunikowania się z usługą.
  • Tematy niestandardowe z obsługą symboli wieloznacznych: używa własnej struktury tematu.
  • Model publikowania i subskrybowania komunikatów: efektywnie komunikuje się przy użyciu wzorców obsługi komunikatów "jeden do wielu", "wiele do jednego" i "jeden do jednego".
  • Wbudowana integracja z chmurą: kieruje komunikaty MQTT do usług platformy Azure lub niestandardowych elementów webhook w celu dalszego przetwarzania.
  • Elastyczny i precyzyjnymodel kontroli dostępu: grupuje klientów i tematy, aby uprościć zarządzanie kontrolą dostępu. Używa obsługi zmiennych w szablonach tematów do szczegółowej kontroli dostępu.
  • Metody uwierzytelniania brokera MQTT: używa uwierzytelniania certyfikatu X.509, standardu uwierzytelniania branżowego dla urządzeń IoT. Używa uwierzytelniania identyfikatora Entra firmy Microsoft, standardu uwierzytelniania platformy Azure dla aplikacji. Używa elastycznych wzorców uwierzytelniania, takich jak uwierzytelnianie OAuth 2.0 JSON Web Token (JWT), które jest lekkie i bezpieczne dla klientów MQTT, które nie są aprowidowane na platformie Azure. Używa niestandardowego uwierzytelniania elementu webhook, które umożliwia dynamiczne uwierzytelnianie połączeń MQTT przez zewnętrzne punkty końcowe HTTP (webhook). Ta metoda używa weryfikacji entra ID JWT w celu zapewnienia bezpiecznego dostępu.
  • Obsługa protokołu Transport Layer Security (TLS) 1.2 i TLS 1.3: Zabezpiecza komunikację klienta przy użyciu niezawodnych protokołów szyfrowania.
  • Obsługa wielu sesji: łączy aplikacje z wieloma aktywnymi sesjami, aby zapewnić niezawodność i skalowalność.
  • Protokół MQTT za pośrednictwem protokołu 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, co zwiększa bezpieczeństwo i upraszcza konfigurację klienta.
  • Zdarzenia cyklu życia klienta: umożliwia aplikacjom reagowanie na zdarzenia dotyczące stanu połączenia klienta lub operacji zasobów klienta.
  • Publikowanie HTTP: umożliwia urządzeniom i usługom wysyłanie komunikatów MQTT do usługi Event Grid za pośrednictwem protokołu HTTPS, co upraszcza integrację z klientami innych niż MQTT.
  • Zachowanie MQTT: zapewnia, że ostatni znany komunikat w temacie jest automatycznie dostarczany do nowych subskrybentów, co umożliwia natychmiastową synchronizację stanu.

Aby uzyskać więcej informacji na temat brokera MQTT, zobacz następujące artykuły:

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.

Diagram przedstawiający dostarczanie wypychane i dostarczanie ściągnięcia z rodzajem zaangażowanych zasobów.

Procedury obsługi zdarzeń

W ramach dostarczania wypychanego subskrypcja zdarzeń to ogólny zasób konfiguracji, którego można użyć do zdefiniowania 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 centrów zdarzeń. 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ższe ogólne wskazówki pomagają zdecydować, kiedy używać dostarczania ściągania lub wypychania.

Dostarczanie ściągnięcia

  • Potrzebujesz pełnej kontroli nad tym, kiedy odbierać zdarzenia. Na przykład aplikacja może nie działać przez cały czas lub nie być wystarczająco stabilna. Dane mogą być również przetwarzane tylko w określonych godzinach.
  • Potrzebna jest pełna kontrola nad zużyciem zdarzeń. Na przykład usługa podrzędna lub warstwa w aplikacji konsumenckiej może mieć problem uniemożliwiający przetwarzanie zdarzeń. W takim przypadku interfejs API dostarczania ściągnięcia umożliwia aplikacji konsumenckiej zwolnienie już odczytanego zdarzenia z powrotem do brokera na potrzeby dostarczania 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 chcesz użyć usługi Event Grid do wysyłania zdarzeń do Ciebie, gdy nastąpią zmiany 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.

Najważniejsze informacje o modelu HTTP:

  • Elastyczny model użycia zdarzeń: korzystanie z zdarzeń przy użyciu trybu dostarczania ściągania lub wypychania podczas korzystania z protokołu HTTP.
  • Zdarzenia systemowe: szybkie uruchamianie za pomocą wbudowanych zdarzeń usługi platformy Azure.
  • Własne zdarzenia aplikacji: użyj usługi Event Grid do kierowania, filtrowania i niezawodnego dostarczania zdarzeń niestandardowych z aplikacji.
  • Zdarzenia partnerów: subskrybowanie zdarzeń dostawcy SaaS partnera i przetwarzanie ich 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 zawiera 24-godzinny mechanizm ponawiania z wycofywaniem wykładniczym, 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, co zwiększa bezpieczeństwo i upraszcza konfigurację klienta.

Aby uzyskać więcej informacji, zobacz następujące artykuły:

Przypadki użycia

Aby uzyskać listę przypadków użycia usługi Event Grid, zobacz Przypadki użycia.

Obsługiwane regiony

Nowe funkcje tematów dotyczących brokera I przestrzeni nazw MQTT są dostępne w następujących regionach.

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 Środkowe stany USA Azja Wschodnia Wschodnie stany USA
Wschodnie stany USA 2 Zachodnie stany USA Francja Środkowa Francja Południowa
Niemcy Północne Niemcy Środkowo-Zachodnie Izrael Środkowy 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 Południowo-środkowe stany USA
Indie Południowe Azja Południowo-Wschodnia 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 Europa Zachodnia
Zachodnie stany USA 2 Zachodnie stany USA 3 Zachodnio-środkowe stany USA