You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A function app includes all of the files and folders in the `wwwroot` directory. A .zip file deployment includes the contents of the `wwwroot` directory, but not the directory itself. When deploying a C# class library project, you must include the compiled library files and dependencies in a `bin` subfolder in your .zip package.
When you are developing on a local computer, you can manually create a .zip file of the function app project folder using built-in .zip compression functionality or third-party tools.
34
+
A zip deployment process extracts the zip archive's files and folders in the `wwwroot` directory. If you include the parent directory when creating the archive, the system will not find the files it expects to see in `wwwroot`.
Copy file name to clipboardExpand all lines: articles/azure-functions/dotnet-isolated-process-guide.md
+19-1Lines changed: 19 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -711,7 +711,7 @@ You can create your function app and other required resources in Azure using one
711
711
+[Deployment templates](./functions-infrastructure-as-code.md): You can use ARM templates and Bicep files to automate the deployment of the required resources to Azure. Make sure your template includes any [required settings](#deployment-requirements).
712
712
+[Azure portal](./functions-create-function-app-portal.md): You can create the required resources in the [Azure portal](https://portal.azure.com).
713
713
714
-
### Publish code project
714
+
### Publish your application
715
715
716
716
After creating your function app and other required resources in Azure, you can deploy the code project to Azure using one of these methods:
717
717
@@ -723,6 +723,24 @@ After creating your function app and other required resources in Azure, you can
723
723
724
724
For more information, see [Deployment technologies in Azure Functions](functions-deployment-technologies.md).
725
725
726
+
#### Deployment payload
727
+
728
+
Many of the deployment methods make use of a zip archive. If you are creating the zip archive yourself, it must follow the structure outlined in this section. If it does not, your app may experience errors at startup.
729
+
730
+
The deployment payload should match the output of a `dotnet publish` command, though without the enclosing parent folder. The zip archive should be made from the following files:
731
+
732
+
-`.azurefunctions/`
733
+
-`extensions.json`
734
+
-`functions.metadata`
735
+
-`host.json`
736
+
-`worker.config.json`
737
+
- Your project executable (a console app)
738
+
- Other supporting files and directories peer to that executable
739
+
740
+
These files are generated by the build process, and they are not meant to be edited directly.
741
+
742
+
When preparing a zip archive for deployment, you should only compress the contents of the output directory, not the enclosing directory itself. When the archive is extracted into the current working directory, the files listed above need to be immediately visible.
743
+
726
744
### Deployment requirements
727
745
728
746
There are a few requirements for running .NET functions in the isolated worker model in Azure, depending on the operating system:
The zip archive you deploy must contain all of the files needed to run your function app. You can manually create a zip archive from the contents of a Functions project folder using built-in .zip compression functionality or third-party tools.
10
+
11
+
The archive must include the [host.json](../articles/azure-functions/functions-host-json.md) file at the root of the extracted folder. The selected language stack for the function app creates additional requirements:
> Make sure to compress the contents of any output folder, rather than the parent folder itself. When Azure Functions extracts the contents of the zip archive, it needs to immediately see the `host.json` file.
0 commit comments