> The function app hosts the scheduled process that at the specified time retrieves the list of files from the storage account (1), iterates through them, for each (2) one checks if it changed and sends a notification if it did (3). If the file has changed, the function app also updates the file hash in the storage account (4).
The cheaper way to do it would be to set up a webhook listening for push events [1]. You do have to handle missed webhook notifications, but you can usually just do that by polling very infrequently.
[1]: https://docs.github.com/en/developers/webhooks-and-events/gi...
It always bugs me that everything distributed inevitably devolves into polling...
How about the problem of being banned by the service which is being polled?