Cómo seleccionar un destino para versiones en tiempo de ejecución de Azure FunctionsHow to target Azure Functions runtime versions

Una aplicación de función se ejecuta en una versión específica del runtime de Azure Functions.A function app runs on a specific version of the Azure Functions runtime. Hay dos versiones principales: 1.x y 2.x.There are two major versions: 1.x and 2.x. De forma predeterminada, las aplicaciones de función se crean en la versión 2.x del entorno de ejecución.By default, function apps that are created version 2.x of the runtime. En este artículo se explica cómo configurar una aplicación de función en Azure para que se ejecute en la versión que elija.This article explains how to configure a function app in Azure to run on the version you choose. Para obtener información sobre cómo configurar un entorno de desarrollo local para una versión específica, consulte Codificación y comprobación de las funciones de Azure Functions en un entorno local.For information about how to configure a local development environment for a specific version, see Code and test Azure Functions locally.

Nota

No se puede cambiar la versión del entorno de ejecución de una aplicación de función que tiene una o más funciones.You can't change the runtime version for a function app that has one or more functions. Debe usar Azure Portal para cambiar la versión del entorno de ejecución.You should use the Azure portal to change the runtime version.

Actualizaciones de versiones automáticas y manualesAutomatic and manual version updates

Functions permite hacer que el destino sea una versión específica del runtime mediante el uso de la configuración de aplicación FUNCTIONS_EXTENSION_VERSION en la aplicación de función.Functions lets you target a specific version of the runtime by using the FUNCTIONS_EXTENSION_VERSION application setting in a function app. La aplicación de función se mantiene en la versión principal especificada hasta que elija explícitamente moverla a una nueva versión.The function app is kept on the specified major version until you explicitly choose to move to a new version.

Si especifica solo la versión principal ("~ 2" para 2.x o "~1" para 1.x), la aplicación de la función se actualiza automáticamente a las nuevas versiones secundarias del runtime cuando están disponibles.If you specify only the major version ("~2" for 2.x or "~1" for 1.x), the function app is automatically updated to new minor versions of the runtime when they become available. Las nuevas versiones secundarias no introducen cambios importantes.New minor versions do not introduce breaking changes. Si especifica una versión secundaria (por ejemplo, "2.0.12345"), la aplicación de función se mantiene en esa versión específica hasta que la modifique explícitamente.If you specify a minor version (for example, "2.0.12345"), the function app is pinned to that specific version until you explicitly change it.

Cuando una nueva versión está disponible públicamente, un aviso en el portal le da la oportunidad de pasar a esa versión.When a new version is publicly available, a prompt in the portal gives you the chance to move up to that version. Después de pasar a una nueva versión, siempre puede usar la configuración de la aplicación FUNCTIONS_EXTENSION_VERSION para volver a una versión anterior.After moving to a new version, you can always use the FUNCTIONS_EXTENSION_VERSION application setting to move back to a previous version.

Un cambio en la versión del runtime hace que la aplicación de función se reinicie.A change to the runtime version causes a function app to restart.

Los valores que puede establecer en la configuración de la aplicación FUNCTIONS_EXTENSION_VERSION para habilitar las actualizaciones automáticas son actualmente "~1" para el runtime 1.x y "~2" para 2.x.The values you can set in the FUNCTIONS_EXTENSION_VERSION app setting to enable automatic updates are currently "~1" for the 1.x runtime and "~2" for 2.x.

Visualización y actualización de la versión actual del entorno de ejecuciónView and update the current runtime version

Puede cambiar la versión del runtime que la aplicación de función usa.You can change the runtime version used by you function app. Debido a la posibilidad de cambios importantes, debería cambiar solo la versión del runtime antes de crear cualquier función en la aplicación de función.Because of the potential of breaking changes, you should only change the runtime version before you have created any functions in your function app. Si bien la versión del runtime la determina la configuración FUNCTIONS_EXTENSION_VERSION, este cambio se debe hacer en Azure Portal y no cambiando directamente la configuración.Although the runtime version is determined by the FUNCTIONS_EXTENSION_VERSION setting, you should make this change in the Azure portal and not by changing the setting directly. Esto se debe a que el portal valida los cambios y hace cambios relacionados adicionales según sea necesario.This is because the portal validates your changes and makes other related changes as needed.

Desde Azure PortalFrom the Azure portal

Utilice el siguiente procedimiento para ver y actualizar la versión del runtime que utiliza una aplicación de función.Use the following procedure to view and update the runtime version currently used by a function app.

  1. En Azure Portal, vaya a la aplicación de función.In the Azure portal, browse to your function app.

  2. En Características configuradas, elija Configuración de la aplicación de función.Under Configured Features, choose Function app settings.

    Seleccionar Configuración de Function App

  3. En la pestaña Configuración de Function App, busque la versión del runtime.In the Function app settings tab, locate the Runtime version. Observe la versión específica del runtime y la versión principal solicitada.Note the specific runtime version and the requested major version. En el ejemplo siguiente, la versión se establece en ~2.In the example below, the version is set to ~2.

    Seleccionar Configuración de Function App

  4. Para anclar la aplicación de función a la versión 1.x del entorno de ejecución, elija ~1 en Versión en tiempo de ejecución.To pin your function app to the version 1.x runtime, choose ~1 under Runtime version. Este modificador está deshabilitado cuando tiene funciones en la aplicación.This switch is disabled when you have functions in your app.

  5. Cuando cambie la versión del runtime, vuelva a la pestaña Información general y elija Reiniciar para reiniciar la aplicación.When you change the runtime version, go back to the Overview tab and choose Restart to restart the app. La aplicación de función se reinicia y se ejecuta en la versión 1.x del entorno de ejecución y se usan las plantillas de la versión 1.x al crear las funciones.The function app restarts running on the version 1.x runtime, and the version 1.x templates are used when you create functions.

Desde la CLI de AzureFrom the Azure CLI

FUNCTIONS_EXTENSION_VERSION también se puede visualizar y establecer desde la CLI de Azure.You can also view and set the FUNCTIONS_EXTENSION_VERSION from the Azure CLI.

Nota

Dado que otros valores de configuración pueden verse afectados por la versión del entorno de ejecución, debe cambiar la versión en el portal.Because other settings may be impacted by the runtime version, you should change the version in the portal. El portal realiza automáticamente las demás actualizaciones necesarias, como la versión de Node.js y la pila del entorno de ejecución, al cambiar las versiones del entorno de ejecución.The portal automatically makes the other needed updates, such as Node.js version and runtime stack, when you change runtime versions.

Mediante la CLI de Azure, puede ver la versión actual del entorno de ejecución con el comando az functionapp config appsettings set.Using the Azure CLI, view the current runtime version with the az functionapp config appsettings set command.

az functionapp config appsettings list --name <function_app> \
--resource-group <my_resource_group>

En este código, reemplace <function_app> por el nombre de la aplicación de función.In this code, replace <function_app> with the name of your function app. Reemplace también <my_resource_group> por el nombre del grupo de recursos para la aplicación de función.Also replace <my_resource_group> with the name of the resource group for your function app.

Puede ver el elemento FUNCTIONS_EXTENSION_VERSION en la salida siguiente, que se ha truncado para mayor claridad:You see the FUNCTIONS_EXTENSION_VERSION in the following output, which has been truncated for clarity:

[
  {
    "name": "FUNCTIONS_EXTENSION_VERSION",
    "slotSetting": false,
    "value": "~2"
  },
  {
    "name": "FUNCTIONS_WORKER_RUNTIME",
    "slotSetting": false,
    "value": "dotnet"
  },
  
  ...
  
  {
    "name": "WEBSITE_NODE_DEFAULT_VERSION",
    "slotSetting": false,
    "value": "8.11.1"
  }
]

Puede actualizar el valor de FUNCTIONS_EXTENSION_VERSION en la aplicación de función con el comando az functionapp config appsettings set.You can update the FUNCTIONS_EXTENSION_VERSION setting in the function app with the az functionapp config appsettings set command.

az functionapp config appsettings set --name <function_app> \
--resource-group <my_resource_group> \
--settings FUNCTIONS_EXTENSION_VERSION=<version>

Reemplace <function_app> por el nombre de la aplicación de función.Replace <function_app> with the name of your function app. Reemplace también <my_resource_group> por el nombre del grupo de recursos para la aplicación de función.Also replace <my_resource_group> with the name of the resource group for your function app. Además, reemplace <version> por una versión válida del entorno de ejecución 1.x o ~2 en el caso de la versión 2.x.Also, replace <version> with a valid version of the 1.x runtime or ~2 for version 2.x.

Este comando se puede ejecutar desde Azure Cloud Shell, para lo que es preciso hacer clic en Pruébelo en el código de ejemplo anterior.You can run this command from the Azure Cloud Shell by choosing Try it in the preceding code sample. También puede usar la CLI de Azure localmente para ejecutar este comando después de ejecutar az login para iniciar sesión.You can also use the Azure CLI locally to execute this command after executing az login to sign in.

Pasos siguientesNext steps