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 MQTT v3.1.1- och v5.0-protokollen för att stödja IoT-lösningar (Sakernas Internet). 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 olika 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 Tillgängliga produkter per region.
Anteckning
Följande funktioner har släppts med vårt API för förhandsversion 2023-06-01:
- Stöd för MQTT v3.1.1 och v5.0 (förhandsversion)
- Händelseförbrukning i pull-format med HTTP (förhandsversion)
De första regionerna där dessa funktioner är tillgängliga är: USA, östra, USA, centrala, USA, södra centrala, USA, västra 2, Asien, östra, Sydostasien, Europa, norra, Europa, västra, Förenade Arabemiraten, norra
Viktigt
Funktionerna MQTT Messaging och Pull Delivery tillsammans med följande resurser är för närvarande i förhandsversion.
- Namnrymder
- Namnområdesämnen
- Avsnitt om händelseprenumerationer på namnområde
- Ämnesutrymmen
- Klienter
- Klientgrupper
- Certifikat
- Behörighetsbindningar
Översikt
Azure Event Grid används i olika stadier av datapipelines för att uppnå en mängd olika integreringsmål.
MQTT-meddelanden (förhandsversion). 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 (förhandsversion). 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
- Externa partnersystem (SaaS)
När du konfigurerar Event Grid för 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 (förhandsversion)
- 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 och prenumerera på meddelandemodellen – 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 ämnen för att förenkla hanteringen av åtkomstkontroll och använda variabelstöd i ämnesmallar för en detaljerad åtkomstkontroll.
- X.509-certifikatautentisering – autentisera dina enheter standardmekanismen för enhetsautentisering i IoT-branschen.
- 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.
Händelsemeddelanden (HTTP)
- Flexibel modell för händelseförbrukning – när du använder HTTP använder du händelser med pull (förhandsversion) 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-partnerns providerhändelser och bearbeta dem i Azure.
- Avancerad filtrering – Filtrera på 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ändelser levereras. Med hjälp av 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 publicera/prenumerera-meddelandemodell. Event Grid stöder klienter som publicerar och prenumererar på meddelanden via MQTT v3.1.1, MQTT v3.1.1 över 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.
MQTT-stödet i Event Grid är perfekt för implementering av bland annat fordons- och mobilitetsscenarier. 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 Event Grids MQTT-stöd kan du utföra följande scenarier.
Mata in IoT-telemetri
Mata in telemetri med hjälp av ett många-till-en-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.
Sända aviseringar
Skicka aviseringar till en uppsättning 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. Det här mönstret gör att programmet bara kan 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 Webhooks via http-push-leveransfunktionen . 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 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 av systemtillstånd (kallas även "diskreta" händelser). Event Grid levererar i sin tur dessa händelser till konfigurerade prenumeranternas mål.
Med Event Grids push-leverans kan du genomföra följande användningsfall.
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. Med serverlösa tjänster med Event Grid får du en nivå av produktivitet, insatsekonomi och integrering som är överlägsen den för klassiska databehandlingsmodeller där du måste köpa in, 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 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)
En SaaS-leverantör eller plattform för flera innehavare kan publicera sina händelser till Event Grid via en funktion som kallas Partnerhändelser. Du kan till exempel prenumerera på dessa händelser och automatisera uppgifter. 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 Azure AD, 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. Följande händelsehanterare stöds:
- Webhooks. Azure Automation runbooks och Logic Apps stöds via webhooks.
- Azure-funktioner
- Event Hubs
- Service Bus-köer och ämnen
- Relay-hybridanslutningar
- Lagringsköer
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örbrukningen. 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 över 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.
Hur mycket kostar Event Grid?
Azure Event Grid erbjuder två nivåer och använder en prismodell för betala per användning. Mer information om priser finns i Azure Event Grid prissättning. Mer information om funktionerna för varje nivå finns i Välj rätt Event Grid-nivå.