Announcing public preview of MQTT protocol and pull message delivery in Azure Event Grid
Published May 23 2023 08:13 AM 14.9K Views

Azure Event Grid is built to handle high scale message routing from any source to any destination for any application by decoupling publishers from subscriber services. Today, we are announcing that Event Grid now supports bi-directional communication via MQTT version 5 and MQTT version 3.1.1 protocols in Public Preview.  We are also announcing the Public Preview of pull delivery of messages on custom topics, which gives applications more flexibility to handle events and enables the use of private links when receiving events.  




Azure's MQTT broker

MQTT support is driven by the evolution of Internet of Things (IoT) solutions like connected homes, connected cars, healthcare monitoring, transportation, and asset tracking, which is generating dramatic growth in devices and connections. Using Event Grid, enterprises can now harness the power of data from devices, applications, users, and processes, to scale their business and deliver compelling digital experiences for their customers.


This makes Azure Event Grid the first of its kind, MQTT broker in Azure, enabling users to send billions of messages from millions of simultaneously connected devices. Customers can now leverage the lightweight MQTT protocol to for telemetry ingestion, client command and control, and broadcast scenarios to build the next generation of applications faster through this fully managed service.




With this public preview release, customers can securely connect MQTT clients to Azure Event Grid, get fine-grained access control to permit pub-sub on hierarchical topics and route MQTT messages to other Azure services or 3rd party applications via Event Grid subscriptions. Key features supported in this release include MQTT over Websockets, persistent sessions, user properties, message expiry interval, topic aliases, and request-response. MQTT messages can be processed further with powerful analytics services in Azure, for example, Azure Stream Analytics or Azure Data Explorer to derive insights from large volume of data quickly. 


The new functionality makes Event Grid an ideal service for the implementation of automotive and mobility scenarios. Please see the reference architecture on how to build secure and scalable solutions for connecting millions of vehicles to the cloud, using Azure’s messaging and data analytics services.


Supporting “pull” delivery

In modern applications, event-driven architectures are foundational to drive automation. Customers want to react to events across a wide range of scenarios, including API management events, IoT device lifecycle, policy compliance notifications, storage blob events, or other custom events.


Event Grid has always offered push delivery of these events, through which events are pushed to the destination through an event subscription, and sent to Azure services like Azure Functions, Azure Logic Apps, Azure Automation, Service Bus, Event Hubs and others, or to 3rd party services via webhooks.


Our new support for “pull” capabilities meets customer demand for processing events from highly secure environments without configuring a public end point, control over the rate and volume of messages consumed, much larger throughput and more out-of-the-box functionality from a single service. Event Grid continues to conform with CloudEvents 1.0 specification.





New Event Grid Namespace Resource

The new features, MQTT support and pull-delivery, are available today through a new resource called Event Grid Namespace. Namespace makes it easy to manage resources and exposes an HTTP endpoint and an MQTT endpoint. In this release, pull delivery is supported for the resource Namespace topics. MQTT related resources on the Namespace include clients, certificates, client groups, and permission bindings.


Azure Event Grid now supports messaging at a much higher scale without compromising on performance. Today, each Namespace enables connecting to 200,000 MQTT clients, 20,000 MQTT messages per second ingress and egress, and 20MB per second or 20,000 events per second ingress, 40,000 events per second egress. In the next few months, our goal is to support 1 million MQTT clients, 100,000 MQTT messages per second, and 100MB per second or 100,000 events per second ingress, 200,000 events per second egress.



To learn more and try these new capabilities, get started through the Event Grid documentation.


Version history
Last update:
‎May 23 2023 09:43 AM
Updated by: