About This Page
This page is part of the Azure documentation. It contains code examples and configuration instructions for working with Azure services.
Bias Analysis
Bias Types:
⚠️
windows_first
⚠️
windows_tools
⚠️
missing_linux_example
Summary:
The documentation page exhibits a Windows-first bias by referencing Windows file paths (e.g., D:\home\site\wwwroot) before Linux equivalents, focusing on Windows directory structures, and omitting explicit Linux/Bash command examples or Linux-specific instructions. The use of backslashes in paths and references to Windows-style directories are prevalent, while Linux paths are mentioned only in passing. There are no Linux-specific troubleshooting notes or parity in deployment instructions.
Recommendations:
- Provide Linux-specific examples alongside Windows ones, including explicit Linux file paths (e.g., /home/site/wwwroot) and directory structures.
- Include Bash or Linux shell command examples where appropriate, especially for manual deployment steps.
- Ensure all path references are given in both Windows and Linux formats, not just as a parenthetical note.
- Add troubleshooting notes relevant to Linux environments, such as file permission issues or differences in mounting behavior.
- Review all instructions and ensure that Linux users are given equal clarity and guidance as Windows users.
Create pull request
Flagged Code Snippets
Because the `WEBSITE_RUN_FROM_PACKAGE` app setting is set, this command doesn't extract the ZIP package content to the *D:\home\site\wwwroot* directory of your app. Instead, it uploads the ZIP file as-is to *D:\home\data\SitePackages*, and creates a *packagename.txt* in the same directory, that contains the name of the ZIP package to load at runtime. If you upload your ZIP package in a different way (such as [FTP](deploy-ftp.md)), you need to create the *D:\home\data\SitePackages* directory and the *packagename.txt* file manually.
The command also restarts the app. Because `WEBSITE_RUN_FROM_PACKAGE` is set, App Service mounts the uploaded package as the read-only *wwwroot* directory and runs the app directly from that mounted directory.
## Run from external URL instead
You can also run a ZIP package from an external URL, such as Azure Blob Storage. You can use the [Azure Storage Explorer](../vs-azure-tools-storage-manage-with-storage-explorer.md) to upload ZIP package files to your Blob storage account. You should use a private storage container with a [Shared Access Signature (SAS)](../vs-azure-tools-storage-manage-with-storage-explorer.md#generate-a-sas-in-storage-explorer) or [use a managed identity](#access-a-package-in-azure-blob-storage-using-a-managed-identity) to enable the App Service runtime to access the ZIP package securely.
> [!NOTE]
> Currently, an existing App Service resource that runs a local ZIP package cannot be migrated to run from a remote ZIP package. You will have to create a new App Service resource configured to run from an external URL.
Once you upload your file to Blob storage and have an SAS URL for the file, set the `WEBSITE_RUN_FROM_PACKAGE` app setting to the URL. Make sure the URL ends with `.zip`. The following example does it by using Azure CLI: