Azure Event Grid
Azure Event Grid is a platform as a service offering (PaaS) which is an event routing mechanism that helps you to subscribe to events.
There can be different modes of communication where message can be transmitted from one party to other.
- Push and Pull mechanism etc
Azure offers various messaging service like –
- Notification Hubs – where you can Push mobile notifications
- Logic Apps – which helps you to Schedule, build and automate processes (Workflows)
- Azure Service Bus – Exchanging information between 2 parties.
- Topics, Queues and Relays
- Azure Event Hub – Also part of service bus namespace. One-way event processing system that can take millions of events per second and can be used for analysis and storage
- IoT Hub
- Azure Event Grid – Based on publish\subscribe model. Easy to relate if you have been working with Microsoft BizTalk Server.
Now you may wonder which once to use from Azure Event Grid, Azure Event Hubs and Azure Service Bus? – In case where you need to process order or do some financial transactions you must go with Azure Service Bus. While on the other hand when you need to stream large volume of data like telemetry data, event logs i.e. Messaging at scale you must consider using Azure Event Hub. Azure Event Grid can be used when you want to react on an event.
Azure Event Grid is based on Publish/Subscribe model when there can be a single publisher but multiple subscriber that subscribes to those events.
Event Grid Flow
Event occurs within a Publisher and it pushes those events to Event Grid Topic. Subscribers are listening to that topic. Event Handlers are the one responsible for handling those events.
In the below Example we have created an Event Subscription which is subscribing to Event Grid Topics (Publisher).
Topic Type can be any from the following –
- Event Hubs Namespace
- Storage Accounts
- Azure Subscriptions
- Resource Groups
- Event Grid Topics (Used for Demo)
We have used Postman which is doing a POST request to Azure Event Grid Topic endpoint. This topic will be subscribed by an Event Subscription and the messages will be sent to subscriber Endpoint i.e Request Bin in this case.
Azure Event Grid ensures reliability and performance for your apps. You can manage all your events in once place and lastly you just need to pay per event.