Search code examples
azure-functionszipdeploy

Azure Function (Linux) ZipDeploy not working


For some time now, I've used ZipDeploy to publish .NET 8 Azure Function Apps to Windows hosts. The process is:

  1. Create the Windows Function App in Azure In Visual Studio
  2. publish to local folder
  3. ZIP the data
  4. Use the ZipDeploy details obtained from the Fn's Deployment Center's Publish Profile.

So I do the exact same thing as above, but substitute Windows for Linux.

When I deploy this (I happen to use Postman to push) I get a 200 OK response. Just like normal :-)

But when I go to the Overview pane in Azure, it first takes an age to load, and then the list of Functions is not displayed: enter image description here

The details are around a time-out issue. But, if I navigate to any of my Windows FN Apps then the Function details loads immediately, so it's Azure being slow.

I have the WEBSITE_RUN_FROM_PACKAGE set to 1 (it's running on an App Service plan).

In the "Diagnose and solve problems > Deployment" and dig into Function App Status after deployment, I see:

enter image description here

The Function's trigger is from a Service Bus queue, and - needless to say - it all runs perfectly in Visual Studio.

Note: I also have tried doing the deploy direct to Azure from Visual Studio. It all looks to be successful, but same effect.


Solution

  • Thanks @JRichardsz and @RithwikBojja - I finally figured it out.

    There was red-herring in my HelloWorld Fn app; I updated the NuGet packages and then that worked. So the problem was definitely with my actual application.

    The problem turned out to be that my Environment variables had a . in the name. For example MyService.BaseUrl and MyService.Timeout. This naming convention worked fine on Windows but not on Linux. I swapped out . for _ and now everything works.