Azure Functions should synchronize triggers with every update
Currently you can update the package/zip/contents of an Azure Function and it will not automatically scan for updates to the trigger definitions. To get any alterations to triggers to be recognized by the Azure Function infrastructure you must either restart the AppService or run an explicit trigger synchronization using a command such as follows:
az resource invoke-action --resource-group ${resource_group_name} --action syncfunctiontriggers --name ${function_app_name} --resource-type Microsoft.Web/sites
This circumstance breaks down to:
"You have to declare your triggers in the format we tell you to declare them in AND You have to tell us to actually load and use that declaration"
Even though I did just tell you that by giving you an updated complete declaration of the service. This leaks system implementation details from the abstraction.
To add insult to injury, there is a timing issue such that the Azure Functions control plane will tell you that an update is complete but running the syncfunctiontriggers
at that time can fail (case #120102921002349) because the system is not ready to take the action for the updated service. This clearly indicates the asset update was not sufficiently completed so why was a successful update signaled?
Rather than making your system’s problems and implementation the customers problem, it should inspect the specification of the system given in the format defined by Azure Functions and respect the user’s work by using it.
In short: Azure Functions should synchronize function triggers with every update of the function package.
