Dela via


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.

Kärnfunktioner

Här är de två huvudfunktionerna i Azure Event Grid:

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)

Event Grids push-leveransmekanism skickar data till mål som innehåller dina egna programwebbhooks och Azure-tjänster. Nu ska vi titta närmare på dessa två funktioner:

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 Operations för att överbrygga sin MQTT-mäklarfunktion på gränsen med Event Grids MQTT-koordinatorfunktion i molnet. Azure IoT MQTT Broker är en ny distribuerad MQTT-mäklare 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.

Här är några höjdpunkter i MQTT-meddelandestöd i Azure Event Grid:

  • 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 – Använd 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 – Gruppera klienter och ämne för att förenkla åtkomstkontrollhanteringen och använda variabelstöd i ämnesmallar för en detaljerad åtkomstkontroll.
  • MQTT Broker-autentiseringsmetoder – X.509-certifikatautentisering är branschautentiseringsstandarden på IoT-enheter, Microsoft Entra IDauthentication är Azures autentiseringsstandard för program och OAuth 2.0-autentisering (JSON-webbtoken) ger ett enkelt, säkert och flexibelt alternativ för MQTT-klienter som inte etableras i Azure.
  • Stöd för Transport Layer Security (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 över WebSockets – Aktivera anslutning för klienter i brandväggsbegränsade miljöer.
  • Anpassade domännamn – Tillåter användare att tilldela sina egna domännamn till Event Grid-namnområdets MQTT-slutpunkter, vilket förbättrar säkerheten och förenklar klientkonfigurationen.
  • Händelser i klientlivscykeln – Tillåt program att reagera på händelser om klientanslutningsstatus eller klientresursåtgärder.

Mer information om MQTT-koordinator finns i följande artiklar:

Händelsemeddelanden (HTTP)

Event Grid stöder leverans av push- och pull-händelser med HTTP. Med push-leverans definierar du ett mål i en händelseprenumeration som Event Grid skickar händelser till. Med pull-leverans ansluter prenumerantprogram till Event Grid för att använda händelser. Pull-leverans stöds för ämnen i ett Event Grid-namnområde.

Diagram på hög nivå som visar push-leverans och pull-leverans med den typ av resurser som ingår.

Händelsehanterare

I push-leveransen är en händelseprenumeration en allmän konfigurationsresurs som gör att du kan definiera händelsehanteraren eller målet som händelser skickas till med push-leverans. Du kan till exempel skicka data till en Webhook, Azure Function eller Event Hubs. En fullständig lista över händelsehanterare som stöds finns i:

Push-leverans jämfört med pull-leverans

Följande är allmänna riktlinjer som hjälper dig att bestämma när du ska använda pull- eller push-leverans.

Pull-leverans

  • Du behöver fullständig kontroll över när händelser ska ta emot. Ditt program kanske till exempel inte är igång hela tiden, inte tillräckligt stabilt, eller så bearbetar du data vid vissa tidpunkter.
  • Du behöver fullständig kontroll över händelseförbrukningen. Till exempel har en underordnad tjänst eller ett lager i ditt konsumentprogram ett problem som hindrar dig från att bearbeta händelser. I så fall tillåter PULL-leverans-API:et att konsumentappen släpper en redan läst händelse till asynkron meddelandekö så att den kan levereras senare.
  • Du vill använda privata länkar när du tar emot händelser, vilket endast är möjligt med pull-leveransen, inte push-leveransen.
  • Du har inte möjlighet att exponera en slutpunkt och använda push-leverans, men du kan ansluta till Event Grid för att använda händelser.

Push-leverans

  • Du vill undvika konstant avsökning för att fastställa att en ändring av systemtillståndet har inträffat. Du använder hellre Event Grid för att skicka händelser till dig när tillståndsändringar sker.
  • Du har ett program som inte kan göra utgående anrop. Din organisation kan till exempel vara bekymrad över dataexfiltrering. Ditt program kan dock ta emot händelser via en offentlig slutpunkt.

Här är några höjdpunkter i HTTP-modellen:

  • 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. Om du använder pull-leverans har programmet fullständig kontroll över händelseförbrukningen.
  • Högt dataflöde – Skapa integrerade lösningar med stora volymer med Event Grid.
  • Anpassade domännamn – Tillåter användare att tilldela sina egna domännamn till Event Grid-namnområdets HTTP-slutpunkter, vilket förbättrar säkerheten och förenklar klientkonfigurationen.

Mer information finns i följande artiklar:

Användningsfall

En lista över användningsfall där du kan använda Azure Event Grid finns i Användningsfall

Regioner som stöds

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

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