Skip to content

Commit ca7209c

Browse files
Merge pull request #306077 from MicrosoftDocs/main
Auto Publish – main to live - 2025-09-25 11:00 UTC
2 parents 9a81a6f + e65f89c commit ca7209c

66 files changed

Lines changed: 513 additions & 273 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

articles/app-service/configure-language-java-data-sources.md

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ For more information, see the [Spring Boot documentation on data access](https:/
5050
::: zone pivot="java-tomcat"
5151

5252
> [!TIP]
53-
> By default, the Linux Tomcat containers can automatically configure shared data sources for you in the Tomcat server. The only thing for you to do is add an app setting that contains a valid JDBC connection string to an Oracle, SQL Server, PostgreSQL, or MySQL database (including the connection credentials), and App Service automatically adds the corresponding shared database to */usr/local/tomcat/conf/context.xml*, using an appropriate driver available in the container. For an end-to-end scenario using this approach, see [Tutorial: Build a Tomcat web app with Azure App Service on Linux and MySQL](tutorial-java-tomcat-mysql-app.md).
53+
> Linux Tomcat containers can automatically configure shared data sources for you in the Tomcat server by setting the environment variable `WEBSITE_AUTOCONFIGURE_DATABASE` to `true`. The only thing for you to do is add an app setting that contains a valid JDBC connection string to an Oracle, SQL Server, PostgreSQL, or MySQL database (including the connection credentials), and App Service automatically adds the corresponding shared database to */usr/local/tomcat/conf/context.xml*, using an appropriate driver available in the container. For an end-to-end scenario using this approach, see [Tutorial: Build a Tomcat web app with Azure App Service on Linux and MySQL](tutorial-java-tomcat-mysql-app.md).
5454

5555
These instructions apply to all database connections. You need to fill placeholders with your chosen database's driver class name and JAR file. Provided is a table with class names and driver downloads for common databases.
5656

@@ -109,16 +109,23 @@ To configure an application-level data source:
109109

110110
# [Linux](#tab/linux)
111111

112-
Adding a shared, server-level data source requires you to edit Tomcat's server.xml. The most reliable way to do this is as follows:
112+
> [!TIP]
113+
> Linux Tomcat containers can automatically apply XSLT files using the following convention for files copied to `/home/site/wwwroot`: If `server.xml.xsl` or `server.xml.xslt` are present, they will be applied to Tomcat's `server.xml`. If `context.xml.xsl` or `context.xml.xslt` are present, they will be applied to Tomcat's `context.xml`.
114+
115+
Adding a shared, server-level data source requires you to edit Tomcat's `server.xml`. Because file changes outside of the `/home` directory are ephemeral, changes to Tomcat's configuration files need to be applied programatically, as follows:
113116

114117
1. Upload a [startup script](./faq-app-service-linux.yml) and set the path to the script in **Configuration** > **Startup Command**. You can upload the startup script using [FTP](deploy-ftp.md).
115118

116-
Your startup script makes an [xsl transform](https://www.w3schools.com/xml/xsl_intro.asp) to the server.xml file and output the resulting xml file to `/usr/local/tomcat/conf/server.xml`. The startup script should install libxslt via apk. Your xsl file and startup script can be uploaded via FTP. Below is an example startup script.
119+
Your startup script makes an [XSL transform](https://www.w3schools.com/xml/xsl_intro.asp) to the `server.xml` file and output the resulting XML file to `/usr/local/tomcat/conf/server.xml`. The startup script should install `libxslt` or `xlstproc` depending on the [distribution of the version of Tomcat](/azure/app-service/language-support-policy?tabs=linux#java-specific-runtime-statement-of-support) of your web app. Your XSL file and startup script can be uploaded via FTP. Below is an example startup script.
117120

118121
```sh
119-
# Install libxslt. Also copy the transform file to /home/tomcat/conf/
122+
# Install the libxslt package on Alpine-based images:
120123
apk add --update libxslt
121124
125+
# Install the xsltproc package on Debian or Ubuntu-based images:
126+
apt install xsltproc
127+
128+
# Also copy the transform file to /home/tomcat/conf/
122129
# Usage: xsltproc --output output.xml style.xsl input.xml
123130
xsltproc --output /home/tomcat/conf/server.xml /home/tomcat/conf/transform.xsl /usr/local/tomcat/conf/server.xml
124131
```

articles/azure-functions/TOC.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -339,8 +339,6 @@
339339
displayName: migrate, migration, v3, v4, update, upgrade
340340
- name: Hosting and scale
341341
items:
342-
- name: Consumption plan
343-
href: consumption-plan.md
344342
- name: Flex Consumption plan
345343
href: flex-consumption-plan.md
346344
- name: Premium plan
@@ -353,6 +351,8 @@
353351
href: container-concepts.md
354352
- name: Azure Container Apps hosting
355353
href: functions-container-apps-hosting.md
354+
- name: Consumption plan
355+
href: consumption-plan.md
356356
- name: Deployment options
357357
href: functions-deployment-technologies.md
358358
- name: Events and messaging

articles/azure-functions/consumption-plan.md

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,23 @@
11
---
22
title: Azure Functions Consumption plan hosting
33
description: Learn about how Azure Functions Consumption plan hosting lets you run your code in an environment that scales dynamically.
4-
ms.date: 05/06/2025
5-
ms.topic: conceptual
4+
ms.date: 09/23/2025
5+
ms.topic: concept-article
66
ms.custom:
77
- build-2024
88
# Customer intent: As a developer, I want to understand the benefits of using the Consumption plan so I can get the scalability benefits of Azure Functions without having to pay for resources I don't need.
99
---
1010

1111
# Azure Functions Consumption plan hosting
1212

13-
When you're using the Consumption plan, instances of the Azure Functions host are dynamically added and removed based on the number of incoming events. The Consumption plan, along with the [Flex Consumption plan](./flex-consumption-plan.md), is a fully *serverless* hosting option for Azure Functions.
13+
When you're using the Consumption plan, instances of the Azure Functions host are dynamically added and removed based on the number of incoming events.
1414

15-
## Benefits
15+
[!INCLUDE [functions-linux-consumption-retirement](../../includes/functions-linux-consumption-retirement.md)]
1616

1717
The Consumption plan scales automatically, even during periods of high load. When running functions in a Consumption plan, you're charged for compute resources only when your functions are running. On a Consumption plan, a function execution times out after a configurable period of time.
1818

19-
For a comparison of the Consumption plan against the other plan and hosting types, see [function scale and hosting options](functions-scale.md).
20-
2119
> [!TIP]
22-
> If you want the benefits of dynamic scale and execution-only billing, but also need to integrate your app with virtual networks, you should instead consider hosting your app in the [Flex Consumption plan](./flex-consumption-plan.md).
20+
> [!INCLUDE [functions-flex-consumption-recommended-serverless](../../includes/functions-flex-consumption-recommended-serverless.md)]
2321
2422
## Billing
2523

articles/azure-functions/dotnet-isolated-process-guide.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1326,8 +1326,8 @@ Azure Functions currently can be used with the following "Preview" or "Go-live"
13261326
| Windows | .NET 10 Preview 5<sup>1,2</sup> |
13271327

13281328
1. Apps targeting .NET 10 must use [version 2.0.5 or later of `Microsoft.Azure.Functions.Worker.Sdk`][Microsoft.Azure.Functions.Worker.Sdk]. You should also update to [version 2.50.0-preview1 or later of `Microsoft.Azure.Functions.Worker`][Microsoft.Azure.Functions.Worker], which updates dependencies to align with .NET 10. When using Visual Studio, you also need to use [Visual Studio 2026 Insiders][vs-insiders] and [update the Functions tools and templates](#considerations-for-using-net-preview-versions) to version 4.114.0 or later.
1329-
2. For the latest information about support for .NET 10 in public Azure, please see the [tracking thread on GitHub](https://github.com/Azure/azure-functions-dotnet-worker/issues/3152).
1330-
3. Linux Consumption apps do not yet support .NET 10.
1329+
2. For the latest information about support for .NET 10 in public Azure, see this [tracking thread on GitHub](https://github.com/Azure/azure-functions-dotnet-worker/issues/3152).
1330+
3. You can't run .NET 10 apps on Linux in the Consumption plan. To run on Linux, you should instead use the [Flex Consumption plan](./flex-consumption-plan.md).
13311331

13321332
See [Supported versions][supported-versions] for a list of generally available releases that you can use.
13331333

articles/azure-functions/functions-app-settings.md

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -703,7 +703,9 @@ Connection string for storage account where the function app code and configurat
703703
|---|------------|
704704
|WEBSITE_CONTENTAZUREFILECONNECTIONSTRING|`DefaultEndpointsProtocol=https;AccountName=...`|
705705

706-
This setting is required for Consumption and Elastic Premium plan apps running on both Windows and Linux. It's not required for Dedicated plan apps, which Functions doesn't dynamically scale.
706+
This setting is required for both Consumption and Elastic Premium plan apps. It's not required for Dedicated plan apps, which Functions doesn't dynamically scale.
707+
708+
[!INCLUDE [functions-flex-consumption-recommended-serverless](../../includes/functions-flex-consumption-recommended-serverless.md)]
707709

708710
Changing or removing this setting can cause your function app to not start. To learn more, see [this troubleshooting article](functions-recover-storage-account.md#storage-account-application-settings-were-deleted).
709711

@@ -732,7 +734,9 @@ The name of the file share that Functions uses to store function app code and co
732734
|---|------------|
733735
|WEBSITE_CONTENTSHARE|`functionapp091999e2`|
734736

735-
This setting is required for Consumption and Premium plan apps on both Windows and Linux. It's not required for Dedicated plan apps, which aren't dynamically scaled by Functions.
737+
This setting is required only for Consumption and Premium plan apps. It's not required for Dedicated plan apps, which aren't dynamically scaled by Functions.
738+
739+
[!INCLUDE [functions-flex-consumption-recommended-serverless](../../includes/functions-flex-consumption-recommended-serverless.md)]
736740

737741
The share is created when your function app is created. Changing or removing this setting can cause your function app to not start. To learn more, see [this troubleshooting article](functions-recover-storage-account.md#storage-account-application-settings-were-deleted).
738742

@@ -917,7 +921,9 @@ On a function app running in a [Dedicated (App Service) plan](./dedicated-plan.m
917921

918922
Determines whether the built-in administrator (`/admin`) endpoints in your function app can be accessed. When set to `false` (the default), the app allows requests to endpoints under `/admin` when those requests present a [master key](function-keys-how-to.md#understand-keys) in the request. When `true`, `/admin` endpoints can't be accessed, even with a master key.
919923

920-
This property can't be set for apps running on the Linux Consumption SKU. It can't be set for apps running on version 1.x of Azure Functions. If you're using version 1.x, you must first [migrate to version 4.x](./migrate-version-1-version-4.md).
924+
This property can't be set for apps running on Linux in a Consumption plan. It can't be set for apps running on version 1.x of Azure Functions. If you're using version 1.x, you must first [migrate to version 4.x](./migrate-version-1-version-4.md).
925+
926+
[!INCLUDE [functions-flex-consumption-recommended-serverless](../../includes/functions-flex-consumption-recommended-serverless.md)]
921927

922928
## linuxFxVersion
923929

articles/azure-functions/functions-continuous-deployment.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,6 @@ Maintain your project code in [Azure Repos](https://azure.microsoft.com/services
2525

2626
Maintain your project code in [GitHub](https://github.com). Supported by all [build providers](functions-continuous-deployment.md?tabs=github%2Cgithub-actions#build-providers). For more information, see [GitHub docs](https://docs.github.com/en/get-started).
2727

28-
GitHub is the only continuous deployment source supported for apps running on Linux in a [Consumption plan](./consumption-plan.md), which includes serverless Python apps.
29-
3028
### [Bitbucket](#tab/bitbucket)
3129

3230
Maintain your project code in [Bitbucket](https://bitbucket.org/). Requires the [App Service build provider](functions-continuous-deployment.md?tabs=bitbucket%2Capp-service#build-providers).

articles/azure-functions/functions-core-tools-reference.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,7 @@ Connects the local command prompt to streaming logs for the function app in Azur
201201
func azure functionapp logstream <APP_NAME>
202202
```
203203

204-
The default timeout for the connection is 2 hours. You can change the timeout by adding an app setting named [SCM_LOGSTREAM_TIMEOUT](functions-app-settings.md#scm_logstream_timeout), with a timeout value in seconds. Not yet supported for Linux apps in the Consumption plan. For these apps, use the `--browser` option to view logs in the portal.
204+
The default timeout for the connection is 2 hours. You can change the timeout by adding an app setting named [SCM_LOGSTREAM_TIMEOUT](functions-app-settings.md#scm_logstream_timeout), with a timeout value in seconds. Not yet supported for Linux in a [Flex Consumption](flex-consumption-plan.md) or [Consumption](consumption-plan.md) plan. For these apps, use the `--browser` option to view logs in the portal.
205205

206206
The `deploy` action supports the following options:
207207

articles/azure-functions/functions-deployment-technologies.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,6 @@ You can deploy a function app running in a Linux container.
175175
>+ Deploy to Azure Functions resources you create in the Azure portal. For more information, see [Azure portal create using containers](functions-how-to-custom-container.md#azure-portal-create-using-containers).
176176
>+ Deploy to Azure Functions resources you create from the command line. Requires either a Premium or Dedicated (App Service) plan. To learn how, see [Create your first containerized Azure Functions](functions-deploy-container.md).
177177
>+ Deploy to Azure Container Apps. To learn how, see [Create your first containerized Azure Functions on Azure Container Apps](../container-apps/functions-usage.md).
178-
>+ Deploy to Azure Arc (preview). To learn how, see [Working with containers and Azure Functions](functions-how-to-custom-container.md?pivots=azure-arc).
179178
>+ Deploy to a Kubernetes cluster. You can deploy to a cluster using [Azure Functions Core Tools](functions-run-local.md). Use the [`func kubernetes deploy`](functions-core-tools-reference.md#func-kubernetes-deploy) command.
180179
181180
>__When to use it:__ Use the Docker container option when you need more control over the Linux environment where your function app runs and where the container is hosted. This deployment mechanism is available only for functions running on Linux.

articles/azure-functions/functions-how-to-azure-devops.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -445,7 +445,7 @@ You'll deploy with the [Azure Function App Deploy v2](/azure/devops/pipelines/ta
445445

446446
The v2 version of the task includes support for newer applications stacks for .NET, Python, and Node. The task includes networking predeployment checks. When there are predeployment issues, deployment stops.
447447

448-
To deploy to Azure Functions, add the following snippet at the end of your `azure-pipelines.yml` file. The default `appType` is Windows. You can specify Linux by setting the `appType` to `functionAppLinux`. Deploying to a Flex Consumption app requires you to set both `appType: functionAppLinux` and `isFlexConsumption: true`. The reason must be set to `functionAppLinux` when you use Flex Consumption because [Flex Consumption](/azure/azure-functions/flex-consumption-plan) is a Linux-based Azure Function.
448+
To deploy to Azure Functions, add the following snippet at the end of your `azure-pipelines.yml` file. The default `appType` is Windows. When deploying on Linux, you must also set the `appType` to `functionAppLinux`. Deploying to a Flex Consumption app requires you to set both `appType: functionAppLinux` and `isFlexConsumption: true`. The reason must be set to `functionAppLinux` when you use Flex Consumption because [Flex Consumption](/azure/azure-functions/flex-consumption-plan) apps currently run only on Linux.
449449

450450
### [Windows App](#tab/windows)
451451
```yaml

articles/azure-functions/functions-how-to-github-actions.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -315,7 +315,16 @@ Optional parameters for all function app plans:
315315
316316
Keep the following considerations in mind when using the Azure Functions action:
317317
318-
+ When using GitHub Actions, the code is deployed using [one deploy](./functions-deployment-technologies.md#one-deploy) to apps on the [Flex Consumption](./flex-consumption-plan.md) plan and [zip deploy](deployment-zip-push.md) to apps on the [Consumption](./consumption-plan.md), [Elastic Premium](./functions-premium-plan.md), and [Dedicated (App Service)](./dedicated-plan.md) plans. The exception is Linux Consumption, where [external package URL](./functions-deployment-technologies.md#external-package-url) is used.
318+
+ When using GitHub Actions, the way that your code is deployed depends on your hosting plan, as shown in this table:
319+
320+
| Hosting plan | Deployment method |
321+
| ---- | ----- |
322+
| [Flex Consumption](./flex-consumption-plan.md) | [One deploy](./functions-deployment-technologies.md#one-deploy) |
323+
| [Elastic Premium](./functions-premium-plan.md) | [Zip deploy](deployment-zip-push.md) to apps on the [Consumption](./consumption-plan.md) |
324+
| [Dedicated (App Service)](./dedicated-plan.md) | [Zip deploy](deployment-zip-push.md) to apps on the [Consumption](./consumption-plan.md) |
325+
| [Consumption](./consumption-plan.md) | Windows: [Zip deploy](deployment-zip-push.md)<br/>Linux: [external package URL](./functions-deployment-technologies.md#external-package-url)<sup>*</sup> |
326+
327+
\* The ability to run your apps on Linux in a Consumption plan is planned for retirement. For more information, see [Azure Functions Consumption plan hosting](consumption-plan.md).
319328
320329
+ The credentials required by GitHub to connection to Azure for deployment are stored as Secrets in your GitHub repository and accessed in the deployment as `secrets.<SECRET_NAME>`.
321330

0 commit comments

Comments
 (0)