An Azure service that provides an event-driven serverless compute platform.
Hi @Ade Jabar
A detail in your post stands out: the write functions were disabled before the test and switched back to disabled right after. Enable and Disable in Azure Functions are just the AzureWebJobs.<FUNCTION_NAME>.Disabled app setting, and Microsoft's docs say changing an app setting restarts the function app by default. If your POST landed on a host that was still running with the old "disabled" setting, an empty Kestrel 404 is what you'd expect, since the function simply isn't loaded there. That fits your result even though the management plane already showed it as enabled.
To confirm it from the host side, without changing anything:
- In Application Insights, look at the traces around the test. Find the most recent host startup before your POST and check whether
guardCreateObjectis in the list of functions that host loaded, or whether it was logged as disabled. - Compare the timestamp of that host startup with the time of the app setting change. If the POST came first, it's a timing issue and not a routing or metadata problem.
- For the next test, enable the function, wait until you see a new host startup in the traces with the function loaded, and only then send the POST.
If the host clearly loaded the function and the POST still gets an empty 404, that points to something deeper, and a support case with the invocation timestamps would be the next step.
Roughly how many seconds passed between enabling the function and sending the POST?
If this resolved your issue, please consider accepting it as the answer. If the traces show something different, let me know and I'll be happy to keep helping.
Reference: