What is Azure Event Grid?
Event Grid is a highly scalable, serverless event broker that you can use to integrate applications using events. Events are delivered by Event Grid to subscriber destinations such as applications, Azure services, or any endpoint to which Event Grid has network access. The source of those events can be other applications, SaaS services and Azure services.
With Event Grid you connect solutions using event-driven architectures. An event-driven architecture uses events to communicate occurrences in system state changes, for example, to other applications or services. You can use filters to route specific events to different endpoints, multicast to multiple endpoints, and make sure your events are reliably delivered.
Azure Event Grid is deployed to maximize availability by natively spreading across multiple fault domains in every region, and across availability zones (in regions that support them). For a list of regions that are supported by Event Grid, see Products available by region.
The event sources and event handlers or destinations are summarized in the following diagram.
This image shows how Event Grid connects sources and handlers, and isn't a comprehensive list of supported integrations. For a list of all supported event sources, see the following section.
Event Grid supports the following event sources:
Your own service or solution that publishes events to Event Grid so that your customers can subscribe to them. Event Grid provides two type of resources you can use depending on your requirements.
Custom Topics or "Topics" for short. Use custom topics if your requirements resemble the following user story:
"As an owner of a system, I want to communicate my system's state changes by publishing events and routing those events to event handlers, under my control or otherwise, that can process my system's events in a way they see fit."
Domains. Use domains if you want to deliver events to multiple teams at scale. Your requirements probably are similar to the following one:
"As an owner of a system, I want to announce my system’s state changes to multiple teams in a single tenant so that they can process my system’s events in a way they see fit."
A SaaS provider or platform can publish their events to Event Grid through a feature called Partner Events. You can subscribe to those events and automate tasks, for example. Events from the following partners are currently available:
An Azure service. The following Azure services support sending events to Event Grid. For more information about a source in the list, select the link.
- Azure API Management
- Azure App Configuration
- Azure App Service
- Azure Blob Storage
- Azure Cache for Redis
- Azure Communication Services
- Azure Container Registry
- Azure Event Hubs
- Azure Health Data Services
- Azure IoT Hub
- Azure Key Vault
- Azure Kubernetes Service
- Azure Machine Learning
- Azure Maps
- Azure Media Services
- Azure Policy
- Azure resource groups
- Azure Service Bus
- Azure SignalR
- Azure subscriptions
For full details on the capabilities of each handler and related articles, see event handlers. Currently, the following Azure services support handling events from Event Grid:
- Webhooks. Azure Automation runbooks and Logic Apps are supported via webhooks.
- Azure functions
- Event Hubs
- Service Bus queues and topics
- Relay hybrid connections
- Storage queues
There are five concepts in Azure Event Grid that let you get going:
- Events - What happened.
- Event sources - Where the event took place.
- Topics - The endpoint where publishers send events.
- Event subscriptions - The endpoint or built-in mechanism to route events, sometimes to more than one handler. Subscriptions are also used by handlers to intelligently filter incoming events.
- Event handlers - The app or service reacting to the event.
For more information about these concepts, see Concepts in Azure Event Grid.
Here are some of the key features of Azure Event Grid:
- Simplicity - Point and click to aim events from your Azure resource to any event handler or endpoint.
- Advanced filtering - Filter on event type or event publish path to make sure event handlers only receive relevant events.
- Fan-out - Subscribe several endpoints to the same event to send copies of the event to as many places as needed.
- Reliability - 24-hour retry with exponential backoff to make sure events are delivered.
- Pay-per-event - Pay only for the amount you use Event Grid.
- High throughput - Build high-volume workloads on Event Grid.
- Built-in Events - Get up and running quickly with resource-defined built-in events.
- Custom Events - Use Event Grid to route, filter, and reliably deliver custom events in your app.
For a comparison of Event Grid, Event Hubs, and Service Bus, see Choose between Azure services that deliver messages.
What can I do with Event Grid?
Azure Event Grid provides several features that vastly improve serverless, ops automation, and integration work:
Serverless application architectures
Event Grid connects data sources and event handlers. For example, use Event Grid to trigger a serverless function that analyzes images when added to a blob storage container.
Event Grid allows you to speed automation and simplify policy enforcement. For example, use Event Grid to notify Azure Automation when a virtual machine or database in Azure SQL is created. Use the events to automatically check that service configurations are compliant, put metadata into operations tools, tag virtual machines, or file work items.
Event Grid connects your app with other services. For example, create a custom topic to send your app's event data to Event Grid, and take advantage of its reliable delivery, advanced routing, and direct integration with Azure. Or, you can use Event Grid with Logic Apps to process data anywhere, without writing code.
How much does Event Grid cost?
Azure Event Grid uses a pay-per-event pricing model, so you only pay for what you use. The first 100,000 operations per month are free. Operations are defined as event ingress, subscription delivery attempts, management calls, and filtering by subject suffix. For details, see the pricing page.
- Route Storage Blob events
Respond to storage blob events by using Event Grid.
- Create and subscribe to custom events
Jump right in and start sending your own custom events to any endpoint using the Azure Event Grid quickstart.
- Using Logic Apps as an Event Handler
A tutorial on building an app using Logic Apps to react to events pushed by Event Grid.
- Stream big data into a data warehouse
A tutorial that uses Azure Functions to stream data from Event Hubs to Azure Synapse Analytics.
- Event Grid REST API reference
Provides reference content for managing Event Subscriptions, routing, and filtering.
- Partner Events overview.
- subscribe to partner events.