Vad är Azure Event Grid?

Azure Event Grid är en mycket skalbar, fullständigt hanterad Pub Sub-meddelandedistributionstjänst som erbjuder flexibla mönster för meddelandeförbrukning med hjälp av MQTT- och HTTP-protokollen. Med Azure Event Grid kan du skapa datapipelines med enhetsdata, integrera program och skapa händelsedrivna serverlösa arkitekturer. Med Event Grid kan klienter publicera och prenumerera på meddelanden via protokollen MQTT v3.1.1 och v5.0 för att stödja IoT-lösningar (Internet of Things). Via HTTP kan du med Event Grid skapa händelsedrivna lösningar där en utgivartjänst meddelar att dess systemtillstånd ändras (händelser) till prenumerantprogram. Event Grid kan konfigureras för att skicka händelser till prenumeranter (push-leverans) eller så kan prenumeranter ansluta till Event Grid för att läsa händelser (pull-leverans). Event Grid stöder CloudEvents 1.0-specifikation för att tillhandahålla samverkan mellan system.

Diagram på hög nivå över Event Grid som visar utgivare och prenumeranter som använder MQTT- och HTTP-protokoll.

Azure Event Grid är en allmänt tillgänglig tjänst som distribueras mellan tillgänglighetszoner i alla regioner som stöder dem. En lista över regioner som stöds av Event Grid finns i Produkter som är tillgängliga per region.

Översikt

Azure Event Grid används i olika skeden av datapipelines för att uppnå en mängd olika integreringsmål.

MQTT-meddelanden. IoT-enheter och -program kan kommunicera med varandra via MQTT. Event Grid kan också användas för att dirigera MQTT-meddelanden till Azure-tjänster eller anpassade slutpunkter för ytterligare dataanalys, visualisering eller lagring. Med den här integreringen med Azure-tjänster kan du skapa datapipelines som börjar med datainmatning från dina IoT-enheter.

Datadistribution med push- och pull-leveranslägen. När som helst i en datapipeline kan HTTP-program använda meddelanden med push- eller pull-API:er. Datakällan kan innehålla MQTT-klienters data, men innehåller även följande datakällor som skickar sina händelser via HTTP:

  • Azure-tjänster
  • Dina anpassade program
  • SaaS-system (extern partner)

När du använder push-leverans kan Event Grid skicka data till mål som innehåller dina egna programwebbhooks och Azure-tjänster.

Funktioner

Event Grid erbjuder en omfattande blandning av funktioner. Dessa funktioner omfattar bland annat:

MQTT-meddelanden

  • Stöd för MQTT v3.1.1 och MQTT v5.0 – använd valfritt öppen källkod MQTT-klientbibliotek för att kommunicera med tjänsten.
  • Anpassade ämnen med stöd för jokertecken – utnyttja din egen ämnesstruktur.
  • Publicera prenumerationsmeddelandemodell – kommunicera effektivt med hjälp av ett-till-många-, många-till-en- och en-till-en-meddelandemönster.
  • Inbyggd molnintegrering – dirigera dina MQTT-meddelanden till Azure-tjänster eller anpassade webhooks för vidare bearbetning.
  • Flexibel och detaljerad åtkomstkontrollmodell – gruppklienter och ämne för att förenkla åtkomstkontrollhanteringen och använda variabelstöd i ämnesmallar för en detaljerad åtkomstkontroll.
  • X.509-certifikatautentisering – autentisera dina enheter med IoT-branschens standardmekanism för autentisering.
  • Microsoft Entra ID-autentisering (tidigare Azure Active Directory) – autentisera dina program med hjälp av Azures standardmekanism för autentisering.
  • Stöd för TLS 1.2 och TLS 1.3 – skydda klientkommunikationen med hjälp av robusta krypteringsprotokoll.
  • Stöd för flera sessioner – anslut dina program med flera aktiva sessioner för att säkerställa tillförlitlighet och skalbarhet.
  • MQTT via WebSockets – aktivera anslutning för klienter i brandväggsbegränsade miljöer.

Händelsemeddelanden (HTTP)

  • Flexibel modell för händelseförbrukning – när du använder HTTP använder du händelser med pull- eller push-leveransläge.
  • Systemhändelser – Kom igång snabbt med inbyggda Azure-tjänsthändelser.
  • Dina egna programhändelser – Använd Event Grid för att dirigera, filtrera och leverera anpassade händelser från din app på ett tillförlitligt sätt.
  • Partnerhändelser – Prenumerera på saaS-providerhändelser för din partner och bearbeta dem i Azure.
  • Avancerad filtrering – Filtrera efter händelsetyp eller andra händelseattribut för att se till att dina händelsehanterare eller konsumentappar endast tar emot relevanta händelser.
  • Tillförlitlighet – Push-leverans har en 24-timmars återförsöksmekanism med exponentiell backoff för att se till att händelserna levereras. Med pull-leverans har ditt program fullständig kontroll över händelseförbrukningen.
  • Högt dataflöde – Skapa integrerade lösningar med stora volymer med Event Grid.

Användningsfall

Event Grid stöder följande användningsfall:

MQTT-meddelanden

Med Event Grid kan dina klienter kommunicera med anpassade MQTT-ämnesnamn med hjälp av en meddelandemodell för publicering och prenumeration. Event Grid stöder klienter som publicerar och prenumererar på meddelanden via MQTT v3.1.1, MQTT v3.1.1 via WebSockets, MQTT v5 och MQTT v5 via WebSockets. Med Event Grid kan du bland annat skicka MQTT-meddelanden till molnet för dataanalys, lagring och visualiseringar.

Event Grid integreras med Azure IoT MQ för att överbrygga sin MQTT-mäklarfunktion på gränsen med Event Grids MQTT-koordinatorfunktion i molnet. Azure IoT MQ är en ny distribuerad MQTT-koordinator för gränsberäkning som körs på Arc-aktiverade Kubernetes-kluster. Den är nu tillgänglig i offentlig förhandsversion som en del av Azure IoT Operations.

MQTT-koordinatorfunktionen i Azure Event Grid är perfekt för implementering av fordons- och mobilitetsscenarier, bland annat. Se referensarkitekturen för att lära dig hur du skapar säkra och skalbara lösningar för att ansluta miljontals fordon till molnet med hjälp av Azures meddelande- och dataanalystjänster.

Diagram på hög nivå över Event Grid som visar dubbelriktad MQTT-kommunikation med utgivare och prenumerantklienter.

Med funktionen MQTT Broker i Azure Event Grid kan du utföra följande scenarier.

Mata in IoT-telemetri

Diagram på hög nivå över Event Grid som visar IoT-klienter som använder MQTT-protokollet för att skicka meddelanden till en molnapp.

Mata in telemetri med hjälp av ett många-till-ett-meddelandemönster . Använd till exempel Event Grid för att skicka telemetri från flera IoT-enheter till ett molnprogram. Det här mönstret gör att programmet kan avlasta belastningen med att hantera det stora antalet anslutningar med enheter till Event Grid.

Kommando och kontroll

Diagram på hög nivå över Event Grid som visar ett molnprogram som skickar ett kommandomeddelande via MQTT till en enhet med hjälp av frågor och svar.

Kontrollera dina MQTT-klienter med hjälp av meddelandemönstret request-response (en-till-en). Använd till exempel Event Grid för att skicka ett kommando från ett molnprogram till en IoT-enhet.

Broadcast-aviseringar

Diagram på hög nivå över Event Grid som visar ett molnprogram som skickar ett aviseringsmeddelande via MQTT till flera enheter.

Skicka aviseringar till en flotta av klienter med hjälp av ett-till-många-meddelandemönstret . Använd till exempel Event Grid för att skicka en avisering från ett molnprogram till flera IoT-enheter. Med det här mönstret kan programmet bara publicera ett meddelande som tjänsten replikerar för varje intresserad klient.

Integrera MQTT-data

Diagram som visar flera IoT-enheter som skickar hälsodata via MQTT till Event Grid, sedan till Event Hubs och från den här tjänsten till Azure Stream Analytics.

Integrera data från dina MQTT-klienter genom att dirigera MQTT-meddelanden till Azure-tjänster och anpassade slutpunkter via push-leverans eller pull-leverans. Du kan till exempel använda Event Grid för att dirigera telemetri från dina IoT-enheter till Event Hubs och sedan till Azure Stream Analytics för att få insikter från enhetens telemetri.

Push-leverans av diskreta händelser

Event Grid kan konfigureras för att skicka händelser till en mängd olika Azure-tjänster eller webhooks med hjälp av push-händelseleverans. Händelsekällor inkluderar dina anpassade program, Azure-tjänster och partnertjänster (SaaS) som publicerar händelser som tillkännager ändringar i systemtillståndet (kallas även "diskreta" händelser). Event Grid levererar i sin tur dessa händelser till konfigurerade prenumeranter.

Med Event Grids push-leverans kan du realisera följande användningsfall.

Kommentar

Push-leverans av diskreta händelser är tillgängligt på Basic-nivån för Event Grid och standardnivån Event Grid för att lära dig mer om skillnaderna i välja rätt Event Grid-nivå för din lösning.

Skapa händelsedrivna serverlösa lösningar

Diagram som visar Azure Functions-publiceringshändelser till Event Grid med HTTP. Event Grid skickar sedan dessa händelser till Azure Logic Apps.

Använd Event Grid för att skapa serverlösa lösningar med Azure Functions Apps, Logic Apps och API Management. Genom att använda serverlösa tjänster med Event Grid får du en nivå av produktivitet, ansträngningsekonomi och integrering som är överlägsen den för klassiska beräkningsmodeller där du måste skaffa, hantera, skydda och underhålla all infrastruktur som distribueras.

Ta emot händelser från Azure-tjänster

Diagram som visar bloblagringspubliceringshändelser till Event Grid via HTTP. Event Grid skickar dessa händelser till händelsehanterare, som antingen är webhooks eller Azure-tjänster.

Event Grid kan ta emot händelser från över 20 Azure-tjänster så att du kan automatisera dina åtgärder. Du kan till exempel konfigurera Event Grid att ta emot en händelse när en ny blob har skapats på ett Azure Storage-konto så att ditt underordnade program kan läsa och bearbeta dess innehåll. En lista över alla Azure-tjänster och händelser som stöds finns i Systemavsnitt.

Ta emot händelser från dina program

Diagram som visar händelser för publicering av kundprogram till Event Grid med HTTP. Event Grid skickar dessa händelser till webhooks eller Azure-tjänster.

Din egen tjänst eller ditt program publicerar händelser till Event Grid som prenumerantprogram bearbetar. Event Grid har anpassade ämnen för att hantera grundläggande integreringsscenarier och domäner för att erbjuda en enkel hanterings- och routningsmodell när du behöver distribuera händelser till hundratals eller tusentals olika grupper.

Ta emot händelser från partner (SaaS-leverantörer)

Diagram som visar en extern partnerprogrampubliceringshändelse till Event Grid med HTTP. Event Grid skickar dessa händelser till webhooks eller Azure-tjänster.

En SaaS-leverantör eller plattform med flera klientorganisationer kan publicera sina händelser till Event Grid via en funktion som kallas Partnerhändelser. Du kan prenumerera på dessa händelser och automatisera uppgifter, till exempel. Händelser från följande partner är för närvarande tillgängliga:

Händelsehanterare

En händelseprenumeration är en allmän konfigurationsresurs som gör att du kan definiera händelsehanteraren eller målet som händelser skickas till med push-leverans. Följande händelsehanterare stöds:

Pull-leverans av diskreta händelser

Azure Event Grid-funktioner hämtar CloudEvents-leverans. Med det här leveransläget ansluter klienter till Event Grid för att läsa händelser. Följande användningsfall kan realiseras med pull-leverans.

Ta emot händelser i din egen takt

Diagram på hög nivå för ett utgivar- och konsumentprogram. Utgivaren skickar händelser till Event Grid i högre takt än prenumerantens händelseförbrukning.

En eller flera klienter kan ansluta till Azure Event Grid för att läsa meddelanden i sin egen takt. Event Grid ger klienter fullständig kontroll över händelseförbrukning. Ditt program kan ta emot händelser vid vissa tidpunkter på dagen, till exempel. Din lösning kan också öka förbrukningen genom att lägga till fler klienter som läser från Event Grid.

Diagram på hög nivå för en konsumentapp i ett VNET-läshändelser från Event Grid över en privat slutpunkt i det virtuella nätverket.

Du kan konfigurera privata länkar för att ansluta till Azure Event Grid för att publicera och läsa CloudEvents via en privat slutpunkt i ditt virtuella nätverk. Trafik mellan ditt virtuella nätverk och Event Grid färdas i Microsofts stamnätverk.

Viktigt!

Privata länkar är tillgängliga med pull-leverans, inte med push-leverans. Du kan använda privata länkar när ditt program ansluter till Event Grid för att publicera händelser eller ta emot händelser, inte när Event Grid ansluter till din webhook eller Azure-tjänst för att leverera händelser.

Regioner där Event Grid-namnområdet är tillgängligt

Här är en lista över regioner där de nya avsnittsfunktionerna för MQTT-asynkron meddelandekö och namnområde är tillgängliga:

  • Australien, östra
  • Sydöstra Australien
  • Brasilien, södra
  • Brasilien, sydöstra
  • Kanada, centrala
  • Kanada, östra
  • Indien, centrala
  • Central US
  • Asien, östra
  • East US
  • USA, östra 2
  • Frankrike, centrala
  • Tyskland, västra centrala
  • Israel, centrala
  • Italien, norra
  • Japan, östra
  • Japan, västra
  • Sydkorea, centrala
  • Sydkorea, södra
  • USA, norra centrala
  • Europa, norra
  • Norge, östra
  • Polen, centrala
  • Sydafrika, västra
  • USA, södra centrala
  • Indien, södra
  • Sydostasien
  • Sverige, centrala
  • Schweiz, norra
  • Förenade Arabemiraten, norra
  • Storbritannien, södra
  • Storbritannien, västra
  • Europa, västra
  • USA, västra 2
  • USA, västra 3

Nästa steg

MQTT-meddelanden

Datadistribution med pull- eller push-leverans

Se även