Azure Function .NET 9 Isolated makes huge amount of requests to Azure Blob storage with "Not found" response code
Hi all.
We use .NET 9 Isolated Azure Functions with Consumption plan.
Our team noticed increased billing of Azure Storage Account started from 14th of March 2025.
After few days of investigation we've found out that since that day the total amount of Azure Blob transactions was increased.
Below you can see the most increased transactions split by API name
After that we decided to turn logs for our Azure Blob storage on.
According to logs, all our timer triggered functions try to find not existing internal files in blob storages
As I see these files are used to track last start of the function.
But for some reason Function seeks the file using patter
/{container-name}/azure-webjobs-hosts/timers/{function-name}/{namespace-name}.{function-class-name}.Run/status, but there are no such files in azure-webjobs-hosts/timers blob container.
The existing folder looks like that:
/{container-name}/azure-webjobs-hosts/timers/{function-name}/Host.Functions.{function-class-name}/status
I'd tried to rename the existing folder to make path looks like Function was expecting and each function started to pull the file once a minute instead of once per 10 sec.
So according that calculation one function calls GetBlob API in five times more often than it should do.
We have about 16 timer trigger functions in our env and the amount of unnecessary calls is very critical for us.
Can someone help us to figure out why it happens?