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.
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)
Event Grids push-leveransmekanism skickar 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 – 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 har etablerats i Azure. -
- 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 ö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.
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. 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.
Kommentar
När det gäller TLS 1.0/1.1-utfasning: För systemämnen behöver du endast vidta åtgärder för händelseleveransen till webhooksdestinationer. Om målet stöder TLS 1.2 sker händelseleveransen med 1.2. Om målet inte stöder TLS 1.2 återgår händelseleveransen automatiskt till 1.0 och 1.1. Efter den 1 mars 2025 stöds inte händelseleverans med 1.0 och 1.1. Se till att webhookens mål stöder TLS 1.2. Ett enkelt sätt att söka efter TLS 1.2-stöd är att använda Qualys SSL Labs. Om rapporten visar att TLS 1.2 stöds krävs ingen åtgärd. Mer information finns i följande blogginlägg: Pensionering: Kommande TLS-ändringar för Azure 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.
Med funktionen MQTT Broker i Azure Event Grid kan du utföra följande scenarier.
Mata in IoT-telemetri
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
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
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
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 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 ä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
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
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
Din egen tjänst eller ditt program publicerar händelser till Event Grid som prenumerantprogram bearbetar. Event Grid har namnområdesämnen för att hantera integrerings- och routningskrav i stor skala med en enkel resursmodell. Du kan också använda anpassade ämnen för att uppfylla grundläggande integreringskrav och domäner för 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)
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:
- Auth0
- Microsoft Graph API. Via Microsoft Graph API kan du hämta händelser från Microsoft Entra ID, Microsoft Outlook, Teams, Konversationer, säkerhetsaviseringar och Universell utskrift.
- Stamgrupp
- SAP
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. 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:
- Händelsehanterare som stöds i namnområdesämnen.
- Händelsehanterare som stöds i ämnena anpassad, system, domän och partner.
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
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.
Använda händelser via en privat länk
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:
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 |
Nästa steg
MQTT-meddelanden
- Översikt
- Publicera och prenumerera på MQTT-meddelanden
- Självstudie: Dirigera MQTT-meddelanden till Azure Event Hubs med hjälp av namnområdesämnen
- Självstudie: Dirigera MQTT-meddelanden till Azure Functions med hjälp av anpassade ämnen
Datadistribution med pull- eller push-leverans
- Översikt över pull-leverans.
- Översikt över push-leverans.
- Begrepp
- Snabbstart: Publicera och prenumerera på apphändelser med hjälp av namnområdesavsnitt.