Azure Event Grid Local Debugger
Utlity for relaying Azure Event Grid events to local webhooks via Azure Storage queues. This is an alternative to using an ngrok proxy to test local Event Grid webhooks.
- Automatically manages Storage queues and Event Grid subscriptions
- Relays Event Grid events via queues and invokes local webhooks
- Event replays - re-send any event to local webhook
- Generate cURL command for any received event for running on command line or in Postman
Install the package globally.
npm install -g @anthonychu/event-grid-local
Create a config file named
eventSubscriptions: images_blob_created: topic: /subscriptions/<subscription_id>/resourceGroups/<group>/providers/microsoft.storage/storageaccounts/<account> # resource id of Event Grid topic to subscribe to functionName: processImages # name of Azure Function to invoke locally when event is received filter: includedEventTypes: - Microsoft.Storage.BlobCreated subjectBeginsWith: /blobServices/default/containers/images/blobs/ pdfs_blob_created: topic: /subscriptions/<subscription_id>/resourceGroups/<group>/providers/microsoft.storage/storageaccounts/<account> webhookUrl: http://localhost:8080/mynodeapp/events # can specify a URL instead of a function name filter: includedEventTypes: - Microsoft.Storage.BlobCreated subjectBeginsWith: /blobServices/default/containers/files/blobs/
Ensure the Azure CLI is installed and you have logged in.
Create a Storage account to use for relaying events from Event Grid in Azure to your local webhook URLs. This Storage account must be in the same subscription as your Event Grid topics. You can use the Azure CLI or portal to create the account. You can also use an existing Storage account.
Set an environment variable named
EVENT_GRID_STORAGE_CONNECTIONto the Storage account connection string.
Create Storage queues and Event Grid subscriptions based on configuration in
You only need to run this command again when you change the configuration.
Start listening to Event Grid events:
The configured webhooks will be invoked whenever events are received from Event Grid via the queues.
To monitor incoming events and re-send (replay) commands, open the dashboard in the browser.
This community project is not officially supported by Microsoft.