AzureEventGridSimulator 4.6.2
See the version list below for details.
dotnet tool install --global AzureEventGridSimulator --version 4.6.2
dotnet new tool-manifest
dotnet tool install --local AzureEventGridSimulator --version 4.6.2
#tool dotnet:?package=AzureEventGridSimulator&version=4.6.2
nuke :add-package AzureEventGridSimulator --version 4.6.2
Azure Event Grid Simulator
A simulator that provides HTTPS endpoints to
mimic Azure Event Grid topics and subscribers. Compatible with
the Microsoft.Azure.EventGrid client library and supports both EventGrid and CloudEvents v1.0 schemas.
Note: This simulator is intended for local development and testing only.
Installation
.NET Tool (Recommended)
# Global install
dotnet tool install -g AzureEventGridSimulator
azure-eventgrid-simulator
# Or local install
dotnet new tool-manifest
dotnet tool install AzureEventGridSimulator
dotnet tool run azure-eventgrid-simulator
Docker
docker pull pmcilreavy/azureeventgridsimulator:latest
Binary
Download from GitHub Releases.
Local Development with Aspire
For an improved local development experience with Azure emulators and built-in observability, use .NET Aspire:
cd src
dotnet run --project AzureEventGridSimulator.AppHost
This starts the simulator along with Azure Storage (Azurite), Service Bus, Event Hubs, and SQL Server emulators. The Aspire Dashboard provides distributed traces, logs, and metrics.
See the Aspire wiki page for details.
Quick Start
Create an appsettings.json file:
{
"topics": [
{
"name": "MyTopic",
"port": 60101,
"key": "TheLocal+DevelopmentKey=",
"subscribers": [
{
"name": "MySubscriber",
"endpoint": "http://localhost:7071/api/MyFunction",
"disableValidation": true
}
]
}
]
}
Run the simulator, then post events:
curl -k -X POST "https://localhost:60101/api/events?api-version=2018-01-01" \
-H "Content-Type: application/json" \
-H "aeg-sas-key: TheLocal+DevelopmentKey=" \
-d '[{"id":"1","subject":"/test","eventType":"Test","eventTime":"2024-01-01T00:00:00Z","data":{"message":"Hello"},"dataVersion":"1"}]'
Dashboard
Access the built-in dashboard at https://localhost:<port>/dashboard to view event history and delivery status.
Documentation
For detailed documentation, see the Wiki:
- Configuration - Topics, subscribers, and app settings
- HTTP Subscribers - Webhook configuration
- Service Bus Subscribers - Azure Service Bus
- Storage Queue Subscribers - Azure Storage Queues
- Event Hub Subscribers - Azure Event Hubs
- Filtering - Event filtering
- Retry and Dead-Letter - Retry policies
- Dashboard - Web-based monitoring
- Docker - Container deployment
- Schema Support - EventGrid and CloudEvents
- Architecture - System design and internals
Contributing
See the Architecture page for system design details and the Wiki for development guidelines.
Star History
This is a small project but has seen steady growth over time. Thank you to everyone who has starred the repository!
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
This package has no dependencies.