Create Azure Event Grid Custom Topic and Subscription
This template creates an Event Grid custom topic and webhook subscription on Azure.
This sample deploys an Azure Functions app with an Event Grid trigger to act as a webhook. This is defined the
prereqs/prereq.azuredeploy.json file. However, when you deploy your own Event Grid subscription you can use any valid webhook URL as long as it handles the Event Grid subscription validation procedure.
prereq.azuredeploy.jsonfile uses a template deployment script to help to determine the webhook URL of the function. The reason it does this is that the
listKeysAPI on the function app doesn't work consistently - sometimes it won't return the Event Grid webhook key when the app has just been created. If the
listKeysAPI is used directly within the ARM template then the deployment often fails. Instead, the deployment script polls the
listKeysAPI, and once it sees a valid response it then provides that back to the temmplate so that it can construct the full webhook URL.
Template was authored by John Downs.
Tags: eventgrid, Microsoft.EventGrid/topics, Microsoft.EventGrid/eventSubscriptions, Microsoft.Storage/storageAccounts, Microsoft.Insights/components, Microsoft.Web/serverfarms, Microsoft.Web/sites, Microsoft.Web/sites/functions, eventGridTrigger, Microsoft.ManagedIdentity/userAssignedIdentities, Microsoft.Authorization/roleAssignments, Microsoft.Resources/deploymentScripts, UserAssigned