Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Azure Event Grid är en mycket skalbar och fullständigt hanterad publiceringsprenumereringstjänst för meddelandedistribution. Event Grid erbjuder flexibla mönster för meddelandeförbrukning och använder MQTT-protokoll (Message Queuing Telemetry Transport) och HTTP. Med Event Grid kan du skapa datapipelines med enhetsdata, integrera program och skapa händelsedrivna serverlösa arkitekturer.
Klienter kan publicera och prenumerera på meddelanden via MQTT v3.1.1 och v5.0-protokollen för att stödja Internet of Things (IoT)-lösningar. Via HTTP kan du använda Event Grid för att skapa händelsedrivna lösningar där en utgivartjänst meddelar att dess systemtillstånd ändras (händelser) till prenumerantprogram. Du kan konfigurera Event Grid 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-specifikationen för att tillhandahålla samverkan mellan olika system.
Azure Event Grid core-funktioner
Event Grid har två huvudfunktioner:
MQTT-meddelanden: IoT-enheter och -program kan kommunicera med varandra via MQTT. Du kan också använda Event Grid för att dirigera MQTT-meddelanden till Azure-tjänster eller anpassade slutpunkter för ytterligare dataanalys, visualisering eller lagring. Genom att använda den här integreringen med Azure-tjänster kan du skapa datapipelines som börjar med datainmatning från dina IoT-enheter.
Datadistribution med hjälp av push- och pull-leveranslägen: När som helst i en datapipeline kan HTTP-program använda meddelanden med hjälp av push- eller pull-API:er. Datakällan kan innehålla MQTT-klienters data, men den innehåller även följande datakällor som skickar sina händelser via HTTP:
- Azure-tjänster
- Dina anpassade program
- Externa partneresystem för programvara som en tjänst (SaaS)
Event Grid-mekanismen för push-leverans skickar data till mål som innehåller dina egna programwebbhooks och Azure-tjänster. I följande avsnitt beskrivs varje funktion.
MQTT-meddelanden
Dina klienter kan kommunicera om anpassade MQTT-ämnesnamn genom att använda en publicish-subscribe-meddelandemodell. Event Grid stöder klienter som publicerar och prenumererar på meddelanden via MQTT v3.1.1, MQTT v3.1.1 via WebSocket, MQTT v5 och MQTT v5 via WebSocket.
Event Grid stöder även enheter och tjänster som skickar MQTT-meddelanden via HTTPS, vilket förenklar integreringen med icke-MQTT-klienter. Du kan skicka MQTT-meddelanden till molnet för dataanalys, lagring och visualiseringar, bland andra användningsområden. Den här funktionen är i förhandsversion.
Event Grid integreras med Azure IoT Operations för att överbrygga sin MQTT-mäklarfunktion på edge med Event Grid MQTT-mäklarfunktionen i molnet. Azure IoT MQTT-mäklare är en distribuerad MQTT-mäklare för edge computing som körs på Azure Arc-aktiverade Kubernetes-kluster, tillgänglig som en del av Azure IoT Operations.
MQTT-koordinatorfunktionen i Event Grid är perfekt för bland annat fordons-, mobilitets- och tillverkningsscenarier. Information om hur du skapar säkra och skalbara lösningar för att ansluta miljontals MQTT-klienter till molnet med hjälp av Azure-meddelande- och dataanalystjänster finns i referensarkitekturerna för fordon och tillverkning .
Höjdpunkter från MQTT-meddelandestöd i Event Grid:
- Stöd för MQTT v3.1.1 och MQTT v5.0: Använder valfritt MQTT-klientbibliotek med öppen källkod för att kommunicera med tjänsten.
- Anpassade ämnen med stöd för jokertecken: Använder din egen ämnesstruktur.
- Publicera-prenumerera-modell: Kommunicerar effektivt med hjälp av en-till-många, många-till-en och en-till-en meddelandemodeller.
- Inbyggd molnintegrering: Dirigerar dina MQTT-meddelanden till Azure-tjänster eller anpassade webhooks för vidare bearbetning.
- Flexibel och detaljeradåtkomstkontrollmodell: Grupperar klienter och ämnen för att förenkla åtkomstkontrollhantering. Använder variabelstöd i ämnesmallar för detaljerad åtkomstkontroll.
- MQTT Broker-autentiseringsmetoder: Använder X.509-certifikatautentisering, en branschautentiseringsstandard för IoT-enheter. Använder Microsoft Entra ID-autentisering, en Azure-autentiseringsstandard för program. Använder flexibla autentiseringsmönster som JWT-autentisering (OAuth 2.0 JSON Web Token), vilket är enkelt och säkert för MQTT-klienter som inte har etablerats i Azure. Använder anpassad webhookautentisering, vilket gör att externa HTTP-slutpunkter (webhooks) kan autentisera MQTT-anslutningar dynamiskt. Den här metoden använder Microsoft Entra ID JWT-validering för att säkerställa säker åtkomst.
- Stöd för Transport Layer Security (TLS) 1.2 och TLS 1.3: Skyddar klientkommunikationen med hjälp av robusta krypteringsprotokoll.
- Stöd för flera sessioner: Ansluter dina program med flera aktiva sessioner för att säkerställa tillförlitlighet och skalbarhet.
- MQTT via WebSocket: Aktiverar anslutning för klienter i brandväggsbegränsade miljöer.
- Anpassade domännamn: Stöder att tilldela egna domännamn till ett Event Grid-namnrymdens MQTT-endpoints, vilket ökar säkerheten och förenklar klientkonfigurationen.
- Klientlivscykelhändelser: Stöder applikationer som reagerar på händelser om klientanslutningens status eller klientresursoperationer.
- HTTP Publish: Stöder enheter och tjänster som skickar MQTT-meddelanden till Event Grid via HTTPS, vilket förenklar integrationen med icke-MQTT-klienter.
- MQTT-kvarhållning: Säkerställer att det senast kända meddelandet i ett ämne levereras automatiskt till nya prenumeranter, vilket möjliggör omedelbar tillståndssynkronisering.
- Delade prenumerationer: Stöder flera klienter som tar emot meddelanden från en enda prenumeration som en grupp, där mäklaren distribuerar meddelanden mellan dem för lastbalanserad, skalbar bearbetning.
- Prenumerationsidentifierare: Stöder MQTT 5-klienter som taggar varje prenumeration med ett unikt numeriskt ID, vilket förenklar identifieringen av vilket abonnemang ett mottaget meddelande matchar när en klient hanterar flera prenumerationer.
Mer information om MQTT-koordinatorn finns i följande artiklar:
- Översikt
- Publicera och prenumerera på MQTT-meddelanden
- Självstudie: Dirigera MQTT-meddelanden till Azure Event Hubs med hjälp av namnområdesavsnitt
- Självstudie: Dirigera MQTT-meddelanden till Azure Functions med hjälp av anpassade ämnen
Händelsemeddelanden (HTTP)
Event Grid stöder leverans av push- och pull-händelser med hjälp av HTTP. Med pushleverans definierar du en destination i en eventprenumeration, och Event Grid skickar händelser till den destinationen. Med pull-leverans ansluter prenumerantapplikationer till Event Grid för att konsumera händelser. Event Grid har stöd för pull-leverans för ämnen i ett namnområde.
Händelsehanterare
Med pushleverans är en händelseprenumeration en generisk konfigurationsresurs som du använder för att definiera händelsehanteraren eller destinationen till vilken Event Grid skickar händelser. Du kan till exempel skicka data till en webhook, en Azure-funktion eller händelsehubbar. För en komplett lista över stödda händelsehanterare, se:
- Händelsehanterare som stöds i namnområdesämnen.
- Händelsehanterare stöds på anpassade, system-, domän- och partnerämnen.
Push-leverans jämfört med pull-leverans
Följande allmänna riktlinjer 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 tas emot. Ditt program kanske till exempel inte är tillgängligt hela tiden eller inte tillräckligt stabilt. Du kan också bearbeta data endast vid vissa tidpunkter.
- Du behöver fullständig kontroll över händelseförbrukningen. En underordnad tjänst eller ett lager i ditt konsumentprogram kan till exempel ha ett problem som hindrar dig från att bearbeta händelser. I så fall kan konsumentappen använda pull delivery API för att släppa en redan läst händelse tillbaka till mäklaren för leverans 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 kan inte exponera en endpoint och använda push-leverans, men du kan ansluta till Event Grid för att ta emot händelser.
Push-leverans
- Du vill undvika konstant pollning för att avgöra om en ändring av systemtillståndet har inträffat. I stället vill du använda 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.
HTTP-modellhöjdpunkter:
- Flexibel händelseförbrukningsmodell: Förbruka händelser med pull- eller push-leveransläge när du använder HTTP.
- Systemhändelser: Sätt igång med inbyggda Azure-tjänstehä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: Tilldela dina egna domännamn till ett Event Grid-namnrymdens HTTP-endpoints, vilket ökar säkerheten och förenklar klientkonfigurationen.
Mer information finns i följande artiklar:
- Översikt över pull-leverans
- Översikt över push-leverans
- Begrepp
- Snabbstart: Publicera och prenumerera på apphändelser med hjälp av namnområdesavsnitt
Användningsfall
En lista över användningsfall där du kan använda Event Grid finns i Användningsfall.
Regioner som stöds
MQTT-mäklaren och ämnesfunktionerna i namnrymder finns tillgängliga i följande regioner.
| Region | Region | Region | Region |
|---|---|---|---|
| Australien, östra | Australia Southeast | Australia Central | Australia Central 2 |
| Brasilien Syd | Brasilien, sydöstra | Centrala Kanada | Kanada, östra |
| Centrala Indien | Mellersta USA | Asien, östra | östra USA |
| Östra USA 2 | Västra USA | Centrala Frankrike | Frankrike, södra |
| Tyskland, norra | Tyskland, västra centrala | Centrala Israel | Italien, norra |
| Japan, östra | Västra Japan | Nordkorea Central | Sydkorea |
| Centrala Mexiko | USA, norra centrala | Europa, norra | Norge, östra |
| Centrala Polen | Sydafrika, västra | Sydafrika, norra | Södra centrala USA |
| Södra Indien | Sydostasien | Centrala Spanien | Sverige Central |
| Södra Sverige | Schweiz, norra | Schweiz, västra | Förenade Arabemiraten, norra |
| UAE Central | Storbritannien, södra | Storbritannien, västra | Europa, västra |
| Västra USA 2 | Västra USA 3 | Västra centrala USA | Centrala Belgien |