An introduction to Azure Event Grid
Azure Event Grid allows you to easily build applications with event-based architectures. You select the Azure resource you would like to subscribe to, and give the event handler or WebHook endpoint to send the event to. Event Grid has built-in support for events coming from Azure services, like storage blobs and resource groups. Event Grid also has custom support for application and third-party events, using custom topics and custom webhooks.
You can use filters to route specific events to different endpoints, multicast to multiple endpoints, and make sure your events are reliably delivered. Event Grid also has built in support for custom and third-party events.
Currently, Event Grid supports the following regions:
- Asia Southeast
- Asia East
- Australia East
- Australia Southeast
- Central US
- East US
- East US 2
- Europe West
- Europe North
- Japan East
- Japan West
- West Central US
- West US
- West US 2
This article provides an overview of Azure Event Grid. If you want to get started with Event Grid, see Create and route custom events with Azure Event Grid. The following image shows how Event Grid connects sources and handlers, but it does not provide a comprehensive list of supported options.
Currently, the following Azure services support sending events to Event Grid:
- Azure Subscriptions (management operations)
- Custom Topics
- Event Hubs
- IoT Hub
- Media Services
- Resource Groups (management operations)
- Service Bus
- Storage Blob
- Storage General-purpose v2 (GPv2)
For links to articles that show how to use each event source, see Event sources in Azure Event Grid.
Currently, the following Azure services support handling events from Event Grid:
- Azure Automation
- Azure Functions
- Event Hubs
- Hybrid Connections
- Logic Apps
- Microsoft Flow
- Queue Storage
When using Azure Functions as the handler, use the Event Grid trigger instead of generic HTTP triggers. Event Grid automatically validates Event Grid Function triggers. With generic HTTP triggers, you must implement the validation response.
For links to articles that show how to use each event handler, see Event handlers in Azure Event Grid.
There are five concepts in Azure Event Grid that let you get going:
- Events - What happened.
- Event sources/publishers - 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 multiple handlers. 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 ensure event handlers only receive relevant events.
- Fan-out - Subscribe multiple endpoints to the same event to send copies of the event to as many places as needed.
- Reliability - Utilize 24-hour retry with exponential backoff to ensure events are delivered.
- Pay-per-event - Pay only for the amount you use Event Grid.
- High throughput - Build high-volume workloads on Event Grid with support for millions of events per second.
- Built-in Events - Get up and running quickly with resource-defined built-in events.
- Custom Events - use Event Grid 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 capabilities 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 instantly trigger a serverless function to run image analysis each time a new photo is added to a blob storage container.
Event Grid allows you to speed automation and simplify policy enforcement. For example, Event Grid can notify Azure Automation when a virtual machine is created, or a SQL Database is spun up. These events can be used 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. Alternatively, 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, advanced match, delivery attempt, and management calls. 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 SQL Data Warehouse.
- Event Grid REST API reference
Provides more technical information about the Azure Event Grid, and a reference for managing Event Subscriptions, routing, and filtering.