Referencia de configuración de aplicación para Azure Functions

La configuración de la aplicación en una aplicación de función contiene opciones de configuración que afectan a todas las funciones de dicha aplicación. Cuando se ejecuta localmente, se accede a esta configuración como variables de entorno locales. Este artículo incluye una lista de las opciones de configuración disponibles en las aplicaciones de funciones.

Hay varias maneras de agregar, actualizar y eliminar opciones de configuración de la aplicación de función:

Para aplicar los cambios realizados en la configuración de la aplicación de funciones, es necesario reiniciar la aplicación de funciones.

Hay otras opciones de configuración de aplicación de funciones en el archivo host.json y en local.settings.json. Los valores de la cadena de conexión de ejemplo están truncados para mejorar la legibilidad.

Nota

Puede usar la configuración de la aplicación para reemplazar los valores de la configuración de host.json sin tener que cambiar el propio archivo host.json. Esto es algo que resulta útil cuando hace falta configurar o modificar valores de host.json concretos para un entorno específico. También permite cambiar la configuración de host.json sin tener que volver a publicar el proyecto. Para más información, consulte el artículo de referencia de host.json. Para aplicar los cambios realizados en la configuración de la aplicación de funciones, es necesario reiniciar la aplicación de funciones.

APPINSIGHTS_INSTRUMENTATIONKEY

Clave de instrumentación de Application Insights. No se pueden usar APPINSIGHTS_INSTRUMENTATIONKEY y APPLICATIONINSIGHTS_CONNECTION_STRING a la vez. Cuando sea posible, use APPLICATIONINSIGHTS_CONNECTION_STRING. Cuando Application Insights se ejecuta en una nube soberana, debe usar APPLICATIONINSIGHTS_CONNECTION_STRING. Para obtener más información, consulte Configuración de la supervisión para Azure Functions.

Clave Valor de ejemplo
APPINSIGHTS_INSTRUMENTATIONKEY 55555555-af77-484b-9032-64f83bb83bb

Nota

El 31 de marzo de 2025 finalizará la compatibilidad con la ingesta de claves de instrumentación. La ingesta de claves de instrumentación seguirá funcionando, pero la característica ya no recibirá actualizaciones ni soporte técnico. Transición a las cadenas de conexión para aprovechar las nuevas funcionalidades.

APPLICATIONINSIGHTS_CONNECTION_STRING

Cadena de conexión para Application Insights. Cuando sea posible, use APPLICATIONINSIGHTS_CONNECTION_STRING en lugar de APPINSIGHTS_INSTRUMENTATIONKEY. El uso de APPLICATIONINSIGHTS_CONNECTION_STRING se requiere en los siguientes casos:

  • Cuando la aplicación de funciones requiera las personalizaciones agregadas admitidas mediante el uso de la cadena de conexión.
  • Cuando la instancia de Application Insights se ejecute en una nube soberana, lo que requiere un punto de conexión personalizado.

Para obtener más información, consulte Cadenas de conexión.

Clave Valor de ejemplo
APPLICATIONINSIGHTS_CONNECTION_STRING InstrumentationKey=...

AZURE_FUNCTION_PROXY_DISABLE_LOCAL_CALL

De forma predeterminada, Functions Proxies usará accesos directos para enviar llamadas API desde servidores proxy directamente a funciones en la misma aplicación de funciones. Se usa este acceso directo en lugar de crear una nueva solicitud HTTP. Esta configuración le permite deshabilitar el comportamiento de ese acceso directo.

Clave Valor Descripción
AZURE_FUNCTION_PROXY_DISABLE_LOCAL_CALL true Las llamadas con una dirección URL de back-end que apunte a una función en la aplicación de funciones local se no se envará directamente a la función. En su lugar, las solicitudes se devuelven al front-end HTTP para la aplicación de funciones.
AZURE_FUNCTION_PROXY_DISABLE_LOCAL_CALL false Las llamadas con una dirección URL de back-end que apunte a una función en la aplicación de funciones local se reenvían directamente a la función. Este es el valor predeterminado.

AZURE_FUNCTION_PROXY_BACKEND_URL_DECODE_SLASHES

Esta configuración controla si se descodifican los caracteres %2F como barras diagonales en los parámetros de ruta cuando se insertan en la dirección URL de back-end.

Clave Valor Descripción
AZURE_FUNCTION_PROXY_BACKEND_URL_DECODE_SLASHES true Los parámetros de ruta con barras diagonales codificadas se descodifican.
AZURE_FUNCTION_PROXY_BACKEND_URL_DECODE_SLASHES false Todos los parámetros de ruta se pasan sin cambios, que es el comportamiento predeterminado.

Por ejemplo, considere el archivo proxies.json para una aplicación de función en el dominio myfunction.com.

{
    "$schema": "http://json.schemastore.org/proxies",
    "proxies": {
        "root": {
            "matchCondition": {
                "route": "/{*all}"
            },
            "backendUri": "example.com/{all}"
        }
    }
}

Cuando AZURE_FUNCTION_PROXY_BACKEND_URL_DECODE_SLASHES se establece en true, la dirección URL example.com/api%2ftest se resuelve como example.com/api/test. De forma predeterminada, la dirección URL permanece sin cambios como example.com/test%2fapi. Para más información, vea Functions Proxies.

AZURE_FUNCTIONS_ENVIRONMENT

En la versión 2.x y posteriores del entorno en tiempo de ejecución de Functions, se configura el comportamiento de la aplicación en función del entorno en tiempo de ejecución. Este valor se lee durante la inicialización y se puede establecer en cualquier valor. El tiempo de ejecución solo respeta los valores de Development, Staging y Production. Cuando esta configuración de la aplicación no está presente durante la ejecución en Azure, se supone que el entorno es Production. Use esta opción en lugar de ASPNETCORE_ENVIRONMENT si necesita cambiar el entorno de tiempo de ejecución de Azure por uno distinto de Production. Azure Functions Core Tools establece AZURE_FUNCTIONS_ENVIRONMENT en Development cuando se ejecuta en un equipo local y no se puede invalidar en el archivo local.settings.json. Para más información, consulte Métodos y clase Startup basados en entorno.

AzureFunctionsJobHost__*

En la versión 2.x y versiones posteriores del entorno de ejecución de Functions, la configuración de aplicación puede invalidar la configuración de host.json en el entorno actual. Estas invalidaciones se expresan como valores de configuración de la aplicación denominados AzureFunctionsJobHost__path__to__setting. Para más información, consulte Invalidación de valores de host.json.

AzureFunctionsWebHost__hostid

Establece el identificador de host de una aplicación de funciones determinada, que debe ser único. Este valor invalida al de identificador de host generado automáticamente para la aplicación. Use este valor solo cuando necesite evitar colisiones de identificadores de host entre aplicaciones de funciones que compartan la misma cuenta de almacenamiento.

Un identificador de host debe tener entre 1 y 32 caracteres, contener solo letras minúsculas, números y guiones, no empezar ni terminar con un guión y no contener guiones consecutivos. Una manera sencilla de generar un identificador es tomar un GUID, quitar los guiones y convertirlo en minúsculas, por ejemplo, convertir el GUID 1835D7B5-5C98-4790-815D-072CC94C6F71 en el valor 1835d7b55c984790815d072cc94c6f71.

Clave Valor de ejemplo
AzureFunctionsWebHost__hostid myuniquefunctionappname123456789

Para más información, vea Consideraciones sobre el id. de host.

AzureWebJobsDashboard

Cadena de conexión de la cuenta de almacenamiento opcional para almacenar los registros y mostrarlos en la pestaña Monitor del portal. Esta opción solo es válida para las aplicaciones que utilizan la versión de destino 1.x de Azure Functions Runtime. La cuenta de almacenamiento debe ser una de uso general que admite blobs, colas y tablas. Para más información, consulte Requisitos de la cuenta de almacenamiento.

Clave Valor de ejemplo
AzureWebJobsDashboard DefaultEndpointsProtocol=https;AccountName=...

Nota

Para disfrutar de un mayor rendimiento y una mejor experiencia, las versiones 2.x y posteriores del entorno de ejecución utilizan APPINSIGHTS_INSTRUMENTATIONKEY y App Insights para realizar la supervisión en lugar de AzureWebJobsDashboard.

AzureWebJobsDisableHomepage

true significa deshabilitar la página de aterrizaje predeterminada que se muestra para la dirección URL raíz de una aplicación de función. El valor predeterminado es false.

Clave Valor de ejemplo
AzureWebJobsDisableHomepage true

Cuando esta configuración de la aplicación se omite o se establece en false, una página similar a la del siguiente ejemplo se muestra en respuesta a la dirección URL <functionappname>.azurewebsites.net.

Página de aterrizaje de la aplicación de función

AzureWebJobsDotNetReleaseCompilation

true significa utilizar el modo de versión cuando se compila código .NET y false significa utilizar el modo de depuración. El valor predeterminado es true.

Clave Valor de ejemplo
AzureWebJobsDotNetReleaseCompilation true

AzureWebJobsFeatureFlags

Una lista delimitada por comas de características de la versión beta que se van a habilitar. Las características de la versión beta habilitadas por estas marcas no están listas para la producción, pero se pueden habilitar para su uso experimental antes de su publicación.

Clave Valor de ejemplo
AzureWebJobsFeatureFlags feature1,feature2,EnableProxies

Agregue EnableProxies a esta lista para volver a habilitar servidores proxy en la versión 4.x del entorno de ejecución de Functions mientras planea la migración a Azure API Management. Para más información, consulte Volver a habilitar servidores proxy en Functions v4.x.

AzureWebJobsKubernetesSecretName

Indica el recurso de secretos de Kubernetes utilizado para almacenar las claves. Solo se admite cuando se ejecuta en Kubernetes. Requiere que AzureWebJobsSecretStorageType se establezca en kubernetes. Cuando no se establece AzureWebJobsKubernetesSecretName, el repositorio se considera como de solo lectura. En este caso, los valores se deben generar antes de la implementación. Azure Functions Core Tools genera automáticamente los valores al implementar en Kubernetes.

Clave Valor de ejemplo
AzureWebJobsKubernetesSecretName <SECRETS_RESOURCE>

Para más información, consulte Repositorios de secretos.

AzureWebJobsSecretStorageKeyVaultClientId

Identificador de cliente de la identidad administrada asignada por el usuario o el registro de aplicación que se usa para acceder al almacén donde se almacenan las claves. Requiere que AzureWebJobsSecretStorageType se establezca en keyvault. Se admite en la versión 4.x y versiones posteriores del entorno de ejecución de Functions.

Clave Valor de ejemplo
AzureWebJobsSecretStorageKeyVaultClientId <CLIENT_ID>

Para más información, consulte Repositorios de secretos.

AzureWebJobsSecretStorageKeyVaultClientSecret

Secreto del identificador de cliente de la identidad administrada asignada por el usuario o el registro de aplicación que se usa para acceder al almacén donde se almacenan las claves. Requiere que AzureWebJobsSecretStorageType se establezca en keyvault. Se admite en la versión 4.x y versiones posteriores del entorno de ejecución de Functions.

Clave Valor de ejemplo
AzureWebJobsSecretStorageKeyVaultClientSecret <CLIENT_SECRET>

Para más información, consulte Repositorios de secretos.

AzureWebJobsSecretStorageKeyVaultName

Nombre de la instancia de Key Vault que se usa para almacenar las claves. Esta configuración solo se admite en la versión 3.x del entorno de ejecución de Functions. Para la versión 4.x, use AzureWebJobsSecretStorageKeyVaultUri en su lugar. Requiere que AzureWebJobsSecretStorageType se establezca en keyvault.

El almacén debe tener una directiva de acceso que corresponda a la identidad administrada asignada por el sistema del recurso de hospedaje. La directiva de acceso debe conceder a la identidad los permisos de secretos siguientes: Get,Set, List y Delete.
Cuando se ejecuta de manera local, se usa la identidad del desarrollador y la configuración debe estar en el archivo local.settings.json.

Clave Valor de ejemplo
AzureWebJobsSecretStorageKeyVaultName <VAULT_NAME>

Para más información, consulte Repositorios de secretos.

AzureWebJobsSecretStorageKeyVaultTenantId

Identificador de inquilino del registro de aplicación que se usa para acceder al almacén donde se almacenan las claves. Requiere que AzureWebJobsSecretStorageType se establezca en keyvault. Se admite en la versión 4.x y versiones posteriores del entorno de ejecución de Functions. Para más información, consulte Repositorios de secretos.

Clave Valor de ejemplo
AzureWebJobsSecretStorageKeyVaultTenantId <TENANT_ID>

AzureWebJobsSecretStorageKeyVaultUri

Identificador URI de la instancia de Key Vault que se usa para almacenar las claves. Se admite en la versión 4.x y versiones posteriores del entorno de ejecución de Functions. Esta es la configuración recomendada para usar una instancia de Key Vault para el almacenamiento de claves. Requiere que AzureWebJobsSecretStorageType se establezca en keyvault.

El valor de AzureWebJobsSecretStorageKeyVaultUri debe ser el valor completo del identificador URI del almacén que se muestra en la pestaña de información general de Key Vault, incluido https://.

El almacén debe tener una directiva de acceso que corresponda a la identidad administrada asignada por el sistema del recurso de hospedaje. La directiva de acceso debe conceder a la identidad los permisos de secretos siguientes: Get,Set, List y Delete.
Cuando se ejecuta de manera local, se usa la identidad del desarrollador y la configuración debe estar en el archivo local.settings.json.

Clave Valor de ejemplo
AzureWebJobsSecretStorageKeyVaultUri https://<VAULT_NAME>.vault.azure.net

Para obtener más información, consulte Uso de referencias de Key Vault para Azure Functions.

AzureWebJobsSecretStorageSas

Dirección URL de SAS de Blob Storage para una segunda cuenta de almacenamiento utilizada para el almacenamiento de claves. De manera predeterminada, Functions usa el conjunto de cuentas de AzureWebJobsStorage. Al usar esta opción de almacenamiento de secretos, asegúrese de que AzureWebJobsSecretStorageType no esté establecido explícitamente o esté establecido en blob. Para más información, consulte Repositorios de secretos.

Clave Valor de ejemplo
AzureWebJobsSecretStorageSas <BLOB_SAS_URL>

AzureWebJobsSecretStorageType

Especifica el repositorio o el proveedor que se utilizará para el almacenamiento de claves. Las claves siempre se cifran antes de almacenarse con un único secreto para la aplicación de funciones.

Clave Valor Descripción
AzureWebJobsSecretStorageType blob Las claves se almacenan en un contenedor de Blob Storage de la cuenta proporcionada por el valor de AzureWebJobsStorage. Este es el comportamiento predeterminado cuando no se establece AzureWebJobsSecretStorageType.
Para especificar otra cuenta de almacenamiento, use la configuración AzureWebJobsSecretStorageSas para indicar la dirección URL de SAS de una segunda cuenta de almacenamiento.
AzureWebJobsSecretStorageType files Las claves se conservan en el sistema de archivos. Este es el valor predeterminado para Functions v1.x.
AzureWebJobsSecretStorageType keyvault Las claves se almacenan en la instancia de Key Vault establecida por AzureWebJobsSecretStorageKeyVaultName.
Secretos de Kubernetes kubernetes Solo se admite cuando se ejecuta el entorno en tiempo de ejecución de Functions en Kubernetes. Cuando no se establece AzureWebJobsKubernetesSecretName, el repositorio se considera como de solo lectura. En este caso, los valores se deben generar antes de la implementación. Azure Functions Core Tools genera automáticamente los valores al implementar en Kubernetes.

Para más información, consulte Repositorios de secretos.

AzureWebJobsStorage

El entorno de ejecución de Azure Functions usa esta cadena de conexión de la cuenta de almacenamiento para la operativa normal. Algunos usos de esta cuenta de almacenamiento son la administración de claves, la administración de desencadenadores de temporizador y los puntos de comprobación de Event Hubs. La cuenta de almacenamiento debe ser una de uso general que admite blobs, colas y tablas. Consulte Almacenamiento de la cuenta y Requisitos de almacenamiento de la cuenta.

Clave Valor de ejemplo
AzureWebJobsStorage DefaultEndpointsProtocol=https;AccountName=...

AzureWebJobs_TypeScriptPath

Ruta de acceso al compilador que se usa para TypeScript. Le permite reemplazar el valor predeterminado si lo necesita.

Clave Valor de ejemplo
AzureWebJobs_TypeScriptPath %HOME%\typescript

DOCKER_SHM_SIZE

Establece el tamaño de memoria compartida (en bytes) cuando el trabajo de Python usa memoria compartida. Para obtener más información, consulte Memoria compartida.

Clave Valor de ejemplo
DOCKER_SHM_SIZE 268435456

El valor anterior establece un tamaño de memoria compartida de ~256 MB.

Requiere que FUNCTIONS_WORKER_SHARED_MEMORY_DATA_TRANSFER_ENABLED se establezca en .

FUNCTION_APP_EDIT_MODE

Determina si está habilitada la edición en Azure Portal. Los valores válidos son "readwrite" y "readonly".

Clave Valor de ejemplo
FUNCTION_APP_EDIT_MODE readonly

FUNCTIONS_EXTENSION_VERSION

Versión del tiempo de ejecución de Functions que hospeda la aplicación de funciones. Una tilde (~) con la versión principal significa que se utiliza la versión más reciente de esa versión principal (por ejemplo, "~3"). Cuando haya disponibles versiones nuevas de la misma versión principal, se instalarán automáticamente en la aplicación de función. Para anclar la aplicación a una versión específica, use el número completo de la versión (por ejemplo, "3.0.12345"). El valor predeterminado es "~3". Un valor de ~1 ancla la aplicación a la versión 1.x del tiempo de ejecución. Para más información, consulte Selección de un destino para versiones de runtime de Azure Functions. Un valor de ~4 significa que la aplicación se ejecuta en la versión 4.x del runtime, que admite .NET 6.0.

Clave Valor de ejemplo
FUNCTIONS_EXTENSION_VERSION ~4

Se admiten los siguientes valores principales de la versión del entorno en tiempo de ejecución:

Value Destino del entorno en tiempo de ejecución Comentario
~4 4.x Recomendado
~3 3.x El soporte técnico finaliza el 13 de diciembre de 2022
~2 2.x Ya no dispone de soporte técnico
~1 1.x Compatible

FUNCTIONS_V2_COMPATIBILITY_MODE

Esta opción permite que la aplicación de funciones se ejecute en un modo compatible con la versión 2.x en el tiempo de ejecución de la versión 3.x. Use esta opción solo si se encuentra con problemas después de actualizar la aplicación de funciones de la versión 2.x a la 3.x del runtime.

Importante

Esta opción está pensada solo como una solución alternativa a corto plazo mientras actualiza la aplicación para que se ejecute correctamente en la versión 3.x. Esta opción se admite siempre que se admita el tiempo de ejecución 2.x. Si encuentra problemas que impiden que la aplicación se ejecute en la versión 3.x sin usar esta configuración, informe de su problema.

Requiere que FUNCTIONS_EXTENSION_VERSION se establezca en .

Clave Valor de ejemplo
FUNCTIONS_V2_COMPATIBILITY_MODE true

FUNCTIONS_WORKER_PROCESS_COUNT

Especifica el número máximo de procesos de trabajo de lenguaje, con un valor predeterminado de 1. El valor máximo permitido es 10. Las invocaciones de función se distribuyen uniformemente entre los procesos de trabajo de lenguaje. Los procesos de trabajo de lenguaje se generan cada diez segundos hasta que se alcanza el número establecido por FUNCTIONS_WORKER_PROCESS_COUNT. El uso de varios procesos de trabajo de lenguaje no es el mismo que el escalado. Considere la posibilidad de usar esta opción cuando la carga de trabajo tenga una combinación de invocaciones vinculadas a la E/S y vinculadas a la CPU. Esta configuración se aplica a todos los entornos de ejecución de lenguaje, excepto para .NET cuando se ejecuta en proceso (dotnet).

Clave Valor de ejemplo
FUNCTIONS_WORKER_PROCESS_COUNT 2

FUNCTIONS_WORKER_RUNTIME

Tiempo de ejecución del trabajo del lenguaje que se cargará en la aplicación de función. Esto corresponde al lenguaje usado en la aplicación (por ejemplo, dotnet). A partir de la versión 2.x del entorno de ejecución de Azure Functions, una aplicación de funciones determinada solo puede admitir un único lenguaje.

Clave Valor de ejemplo
FUNCTIONS_WORKER_RUNTIME node

Valores válidos:

Valor Lenguaje
dotnet C# (biblioteca de clases)
C# (script)
dotnet-isolated C# (proceso de trabajo aislado)
java Java
node JavaScript
TypeScript
powershell PowerShell
python Python

FUNCTIONS_WORKER_SHARED_MEMORY_DATA_TRANSFER_ENABLED

Esta configuración permite que el trabajo de Python use la memoria compartida para mejorar el rendimiento. Habilite la memoria compartida cuando la aplicación de funciones de Python esté alcanzando cuellos de botella de memoria.

Clave Valor de ejemplo
FUNCTIONS_WORKER_SHARED_MEMORY_DATA_TRANSFER_ENABLED 1

Con esta configuración habilitada, puede usar la configuración DOCKER_SHM_SIZE para establecer el tamaño de memoria compartida. Para obtener más información, consulte Memoria compartida.

MDMaxBackgroundUpgradePeriod

Controla el período de actualización en segundo plano de las dependencias administradas para las aplicaciones de función de PowerShell, con un valor predeterminado 7.00:00:00 de (semanal).

Cada proceso de trabajo de PowerShell inicia la comprobación de las actualizaciones de módulo en la Galería de PowerShell en el inicio del proceso y, después, cada MDMaxBackgroundUpgradePeriod. Cuando hay disponible una nueva versión de módulo en la Galería de PowerShell, se instala en el sistema de archivos y se pone a disposición de los trabajadores de PowerShell. Si se reduce este valor, la aplicación de funciones obtiene versiones más recientes de los módulos, pero también aumenta el uso de recursos de la aplicación (E/S de red, CPU, almacenamiento). Al aumentar este valor, se reduce el uso de recursos de la aplicación, pero también se puede retrasar la entrega de nuevas versiones de módulos a la aplicación.

Clave Valor de ejemplo
MDMaxBackgroundUpgradePeriod 7.00:00:00

Para obtener más información, consulte Administración de dependencias.

MDNewSnapshotCheckPeriod

Especifica la frecuencia con la que cada trabajo de PowerShell comprueba si se han instalado actualizaciones de dependencias administradas. La frecuencia predeterminada es 01:00:00 (cada hora).

Una vez instaladas las nuevas versiones del módulo en el sistema de archivos, se debe reiniciar cada proceso de trabajo de PowerShell. Reiniciar los trabajos de PowerShell afecta la disponibilidad de la aplicación, ya que puede interrumpir la ejecución de la función actual. Hasta que se reinicien todos los procesos de trabajo de PowerShell, las invocaciones de función pueden usar las versiones de módulos anteriores o nuevas. El reinicio de todos los trabajos de PowerShell se completa dentro del período MDNewSnapshotCheckPeriod.

En cada MDNewSnapshotCheckPeriod, el trabajo de PowerShell comprueba si se han instalado actualizaciones de dependencias administradas. Cuando se han instalado las actualizaciones, se inicia un reinicio. Al aumentar este valor, se reduce la frecuencia de interrupciones debido a los reinicios. Sin embargo, el aumento también podría incrementar el tiempo durante el que las invocaciones de función podrían usar las versiones anteriores o nuevas del módulo, de forma no determinista.

Clave Valor de ejemplo
MDNewSnapshotCheckPeriod 01:00:00

Para obtener más información, consulte Administración de dependencias.

MDMinBackgroundUpgradePeriod

Período de tiempo después de una comprobación de actualización de dependencia administrada anterior antes de iniciar otra comprobación de actualización, con un valor predeterminado de 1.00:00:00 (diariamente).

Para evitar que se actualicen excesivamente los módulos en los reinicios frecuentes de los trabajos, no se realizará la comprobación de las actualizaciones de los módulos si ya se inició algún trabajo en el último MDMinBackgroundUpgradePeriod.

Clave Valor de ejemplo
MDMinBackgroundUpgradePeriod 1.00:00:00

Para obtener más información, consulte Administración de dependencias.

PIP_INDEX_URL

Esta configuración le permite invalidar la dirección URL base del índice de paquetes de Python, que de forma predeterminada es https://pypi.org/simple. Use esta configuración cuando necesite ejecutar una compilación remota mediante dependencias personalizadas que se encuentran en un repositorio de índices de paquetes compatible con PEP 503 (la API de repositorio simple) o en un directorio local que siga el mismo formato.

Clave Valor de ejemplo
PIP_INDEX_URL http://my.custom.package.repo/simple

Para más información, consulte pip documentación para --index-url y uso de dependencias personalizadas en la referencia para desarrolladores de Python.

PIP_EXTRA_INDEX_URL

El valor de esta configuración indica una dirección URL de índice adicional para los paquetes personalizados para las aplicaciones de Python, que se van a usar además de --index-url. Use esta configuración cuando necesite ejecutar una compilación remota mediante dependencias personalizadas que se encuentran en un índice de paquetes adicional. Debe seguir las mismas reglas que --index-url.

Clave Valor de ejemplo
PIP_EXTRA_INDEX_URL http://my.custom.package.repo/simple

Para más información, consulte pip documentación para --extra-index-url y dependencias personalizadas en la referencia para desarrolladores de Python.

PYTHON_ISOLATE_WORKER_DEPENDENCIES (versión preliminar)

La configuración es específica de las aplicaciones de funciones de Python. Define la prioridad del orden de carga del módulo. Cuando las aplicaciones de funciones de Python se enfrentan a problemas relacionados con la colisión de módulos (por ejemplo, cuando se usa protobuf, tensorflow o grpcio en el proyecto), establecer estos valores de la aplicación en 1 debe resolver el problema. De forma predeterminada, este valor está establecido en 0. Esta marca se encuentra actualmente en versión preliminar.

Key Valor Descripción
PYTHON_ISOLATE_WORKER_DEPENDENCIES 0 Priorice la carga de las bibliotecas de Python de las dependencias internas del trabajo de Python. Las bibliotecas de terceros definidas en requirements.txt se pueden reemplazar.
PYTHON_ISOLATE_WORKER_DEPENDENCIES 1 Priorice la carga de las bibliotecas de Python desde el paquete de la aplicación definido en requirements.txt. Esto evita que las bibliotecas entren en conflicto con las bibliotecas internas del trabajo de Python.

PYTHON_ENABLE_DEBUG_LOGGING

Habilita el registro a nivel de depuración en una aplicación de funciones de Python. Un valor de 1 habilita el registro a nivel de depuración. Sin este valor o con un valor de 0, solo se envían información y registros generales desde el trabajo de Python al host de Functions. Use este valor al depurar o realizar un seguimiento de las ejecuciones de la función de Python.

Al depurar funciones de Python, asegúrese de establecer también un nivel de registro de depuración o seguimiento en el archivo host.json, según sea necesario. Para más información, consulte Configuración de la supervisión para Azure Functions.

PYTHON_ENABLE_WORKER_EXTENSIONS

La configuración es específica de las aplicaciones de funciones de Python. Si se establece en 1, el trabajo se puede cargar en las 1 definidas en requirements.txt. Permite que la aplicación de funciones acceda a las nuevas características proporcionadas por paquetes de terceros. También puede cambiar el comportamiento de la carga de funciones y la invocación en la aplicación. Asegúrese de que la extensión que elija sea de confianza, ya que corre el riesgo de usarla. Azure Functions no ofrece ninguna garantía expresa a ninguna extensión. Para más información sobre cómo usar una extensión, visite la página manual de la extensión o el documento léame. De forma predeterminada, este valor se establece en 0.

Key Valor Descripción
PYTHON_ENABLE_WORKER_EXTENSIONS 0 Deshabilite cualquier extensión de trabajo de Python.
PYTHON_ENABLE_WORKER_EXTENSIONS 1 Permita que el trabajo de Python cargue extensiones de requirements.txt.

PYTHON_THREADPOOL_THREAD_COUNT

Especifica el número máximo de subprocesos que un trabajo de lenguaje Python usaría para ejecutar invocaciones de función, con un valor predeterminado de 1 para la versión de Python 3.8 y anteriores. En el caso de la versión de Python 3.9 y posteriores, el valor se establece en None. Tenga en cuenta que esta configuración no garantiza el número de subprocesos que se establecerán durante las ejecuciones. La configuración permite que Python amplíe el número de subprocesos al valor especificado. La configuración solo se aplica a las aplicaciones de funciones de Python. Además, la configuración se aplica a la invocación de funciones sincrónicas y no a las corrutinas.

Clave Valor de ejemplo Valor máximo
PYTHON_THREADPOOL_THREAD_COUNT 2 32

SCALE_CONTROLLER_LOGGING_ENABLED

Esta configuración se encuentra actualmente en versión preliminar.

Esta configuración controla el registro del controlador de escala de Azure Functions. Para más información, vea Registros del controlador de escala.

Clave Valor de ejemplo
SCALE_CONTROLLER_LOGGING_ENABLED AppInsights:Verbose

El valor de esta clave se proporciona en el formato <DESTINATION>:<VERBOSITY>, que se define de la siguiente manera:

Propiedad Descripción
<DESTINATION> Destino al que se envían los registros. Los valores válidos son AppInsights y Blob.
Cuando use AppInsights, asegúrese de que Application Insights está habilitado en la aplicación de funciones.
Al establecer el destino en Blob, los registros se crean en un contenedor de blobs denominado azure-functions-scale-controller en la cuenta de almacenamiento predeterminada establecida en la configuración de la aplicación AzureWebJobsStorage.
<VERBOSITY> Especifica el nivel de registro. Los valores admitidos son None, Warning y Verbose.
Cuando se establece en Verbose, el controlador de escala registra una razón para cada cambio en el número de trabajos, así como información sobre los desencadenadores de tales decisiones. Los registros detallados incluyen advertencias de desencadenador y los valores hash que usan los desencadenadores antes y después de que se ejecute el controlador de escala.

Sugerencia

Tenga en cuenta que, aunque deje habilitado el registro del controlador de escala, afectará a los costos potenciales de la supervisión de la aplicación de funciones. Tenga en cuenta habilitar el registro hasta que haya recopilado suficientes datos para entender cómo se comporta el controlador de escala y, a continuación, deshabilítelo.

SCM_LOGSTREAM_TIMEOUT

Controla el tiempo de espera, en segundos, cuando se conecta a los registros de streaming. El valor predeterminado es 7200 (2 horas).

Clave Valor de ejemplo
SCM_LOGSTREAM_TIMEOUT 1800

El valor de muestra anterior de 1800 establece un tiempo de espera de 30 minutos. Para más información, consulte Habilitación de los registros de streaming.

WEBSITE_CONTENTAZUREFILECONNECTIONSTRING

Cadena de conexión para la cuenta de almacenamiento donde se almacenan el código de la aplicación de funciones y la configuración en planes de escalado controlados por eventos. Para más información, consulte Creación de una aplicación de funciones.

Clave Valor de ejemplo
WEBSITE_CONTENTAZUREFILECONNECTIONSTRING DefaultEndpointsProtocol=https;AccountName=...

Esta configuración es necesaria para las aplicaciones de planes Consumo y Premium en Windows y Linux. No lo es para las de planes Dedicado, que no se escalan dinámicamente mediante Functions.

El cambio o la eliminación de esta configuración puede hacer que la aplicación de funciones no se inicie. Para más información, consulte este artículo de solución de problemas.

WEBSITE_CONTENTOVERVNET

Un valor de 1 permite escalar la aplicación de funciones cuando tiene una cuenta de almacenamiento restringida a una red virtual. Debe habilitar esta opción al restringir la cuenta de almacenamiento a una red virtual. Para obtener más información, consulte Restricción de la cuenta de almacenamiento a una red virtual.

Clave Valor de ejemplo
WEBSITE_CONTENTOVERVNET 1

Se admite en los planes Premium y Dedicado (App Service) (Estándar y superior). No se admite cuando se ejecuta en un plan de consumo.

WEBSITE_CONTENTSHARE

Ruta de acceso del archivo al código y configuración de la aplicación de funciones de un plan de escalado controlado por eventos. Se usa con WEBSITE_CONTENTAZUREFILECONNECTIONSTRING. El valor predeterminado es una cadena única generada por el runtime que comienza por el nombre de la aplicación de funciones. Consulte Creación de una aplicación de función.

Clave Valor de ejemplo
WEBSITE_CONTENTSHARE functionapp091999e2

Esta configuración es necesaria para las aplicaciones de planes Consumo y Premium en Windows y Linux. No lo es para las de planes Dedicado, que no se escalan dinámicamente mediante Functions.

El cambio o la eliminación de esta configuración puede hacer que la aplicación de funciones no se inicie. Para más información, consulte este artículo de solución de problemas.

Las consideraciones siguientes se aplican al usar una plantilla de Azure Resource Manager (ARM) para crear una aplicación de funciones durante la implementación:

  • Cuando no se establece un valor WEBSITE_CONTENTSHARE para la aplicación de funciones principal ni aplicaciones en ranuras, se generan automáticamente valores de recurso compartido únicos. Este es el enfoque recomendado para la implementación de plantillas de ARM.
  • Hay escenarios en los que debe establecer el valor WEBSITE_CONTENTSHARE en un recurso compartido predefinido, como cuando se usa una cuenta de almacenamiento protegida en una red virtual. En este caso debe establecer un nombre de recurso compartido único para la aplicación de funciones principal y para la aplicación de cada ranura de implementación.
  • WEBSITE_CONTENTSHARE no puede ser una configuración de ranura.
  • Al especificar WEBSITE_CONTENTSHARE, el valor debe seguir esta guía para los nombres de recursos compartidos.

Para más información, consulte Automatización de la implementación de recursos para una aplicación de funciones.

WEBSITE_DNS_SERVER

Establece el servidor DNS que usa una aplicación al resolver direcciones IP. Esta configuración suele ser necesaria cuando se usa cierta funcionalidad de red, como zonas privadas de Azure DNS y puntos de conexión privados.

Clave Valor de ejemplo
WEBSITE_DNS_SERVER 168.63.129.16

WEBSITE_ENABLE_BROTLI_ENCODING

Controla si se usa la codificación Brotli para la compresión en lugar de la compresión gzip predeterminada. Cuando WEBSITE_ENABLE_BROTLI_ENCODING se establece en 1, se usa la codificación Brotli; de lo contrario, se usa la codificación gzip.

WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT

Número máximo de instancias al que se puede escalar horizontalmente la aplicación. El valor predeterminado es sin límite.

Importante

Esta opción está en versión preliminar. Se ha agregado una propiedad de aplicación para la escalabilidad horizontal máxima de la función y es la manera recomendada de limitar la escalabilidad horizontal.

Clave Valor de ejemplo
WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT 5

WEBSITE_NODE_DEFAULT_VERSION

Solo Windows. Establece la versión de Node.js que se usará al ejecutar la aplicación de funciones en Windows. Debe usar una tilde (~) para que el entorno de ejecución use la última versión disponible de la versión principal de destino. Por ejemplo, cuando se establece en ~10, se usa la versión más reciente de Node.js 10. Cuando se especifica una versión principal con una tilde, no es necesario actualizar manualmente la versión secundaria.

Clave Valor de ejemplo
WEBSITE_NODE_DEFAULT_VERSION ~10

WEBSITE_OVERRIDE_STICKY_EXTENSION_VERSIONS

De forma predeterminada, la configuración de versión de las aplicaciones de funciones es específica de cada ranura. Esta configuración se usa al actualizar funciones mediante ranuras de implementación. De esta forma, se evita el comportamiento imprevisto debido al cambio de las versiones después de un intercambio. Establézcala en 0 en producción y en la ranura para asegurarse de que también se intercambian todas las configuraciones de versión. Para más información, consulte Actualización mediante ranuras.

Clave Valor de ejemplo
WEBSITE_OVERRIDE_STICKY_EXTENSION_VERSIONS 0

WEBSITE_RUN_FROM_PACKAGE

Permite que la aplicación de función se ejecute desde un archivo de paquete montado.

Clave Valor de ejemplo
WEBSITE_RUN_FROM_PACKAGE 1

Los valores válidos son una dirección URL que se resuelve en la ubicación de un archivo de paquete de implementación o 1. Cuando se establece en 1, el paquete debe estar en la carpeta d:\home\data\SitePackages. Cuando se usa la implementación de ZIP con esta configuración, el paquete se carga automáticamente en esta ubicación. En la versión preliminar, este ajuste se denomina WEBSITE_RUN_FROM_ZIP. Para más información, vea Run your functions from a package file (Ejecución de Azure Functions desde un archivo de paquete).

WEBSITE_SKIP_CONTENTSHARE_VALIDATION

La configuración de WEBSITE_CONTENTAZUREFILECONNECTIONSTRING y WEBSITE_CONTENTSHARE dispone de comprobaciones de validación adicionales para asegurarse de que la aplicación se pueda iniciar correctamente. Se producirá un error en la creación de la configuración de la aplicación si Function App no puede llamar correctamente a la cuenta de almacenamiento o Key Vault descendente debido a restricciones de red u otros factores limitantes. Cuando WEBSITE_SKIP_CONTENTSHARE_VALIDATION se establece en 1, se omite la comprobación de validación; de lo contrario, el valor se establece de forma predeterminada en 0 y se lleva a cabo la validación.

Clave Valor de ejemplo
WEBSITE_SKIP_CONTENTSHARE_VALIDATION 1

Si se omite la validación y, además, la cadena de conexión o el recurso compartido de contenido no son válidos, la aplicación no podrá iniciarse correctamente y solo generará errores HTTP 500.

WEBSITE_SLOT_NAME

Solo lectura. Nombre de la ranura de implementación actual. El nombre de la ranura de producción es Production.

Clave Valor de ejemplo
WEBSITE_SLOT_NAME Production

WEBSITE_TIME_ZONE

Permite establecer la zona horaria para la aplicación de funciones.

Clave SO Valor de ejemplo
WEBSITE_TIME_ZONE Windows Eastern Standard Time
WEBSITE_TIME_ZONE Linux America/New_York

La zona horaria predeterminada que se usa con las expresiones CRON es la Hora universal coordinada (UTC). Para que la expresión CRON se base en otra zona horaria, cree una configuración de aplicación para la aplicación de función denominada WEBSITE_TIME_ZONE.

El valor de esta opción de configuración depende del sistema operativo y del plan en el que se ejecuta la aplicación de funciones.

Sistema operativo Plan Value
Windows All Establezca como valor el nombre de la zona horaria que desea, tal como aparece en la segunda línea de los pares que proporciona el comando de Windows tzutil.exe /L
Linux Premium
Dedicado
Establezca el valor en el nombre de la zona horaria deseada como se muestra en tz database.

Nota

El plan de Consumo para Linux actualmente no admite WEBSITE_TIME_ZONE.

Por ejemplo, la hora del este de EE. UU. (que se representa mediante Eastern Standard Time en Windows o America/New_York en Linux) usa actualmente UTC-05:00 mientras está vigente la hora estándar y UTC-04:00 durante el horario de verano. Para que un desencadenador de temporizador lo ponga en marcha a las 10:00 AM, hora del este, todos los días,cree una configuración de aplicación para la aplicación de funciones denominada WEBSITE_TIME_ZONE, establezca el valor en Eastern Standard Time (Windows) o America/New_York (Linux) y, a continuación, use la siguiente expresión NCRONTAB:

"0 0 10 * * *"

Si usa WEBSITE_TIME_ZONE, la hora se ajusta a los cambios de hora de la zona horaria concreta, lo que incluye el horario de verano, y los cambios en la hora estándar.

WEBSITE_VNET_ROUTE_ALL

Importante

WEBSITE_VNET_ROUTE_ALL es una configuración de aplicación heredada que se ha reemplazado por la opción de configuración vnetRouteAllEnabled.

Indica si todo el tráfico saliente de la aplicación se enruta a través de la red virtual. Un valor de configuración de 1 indica que todo el tráfico se enruta a través de la red virtual. Debe usar esta opción al usar las características de Integración de red virtual regional. También se usa cuando se usa una puerta de enlace NAT de red virtual para definir una dirección IP de salida estática.

Clave Valor de ejemplo
WEBSITE_VNET_ROUTE_ALL 1

Configuración del sitio de App Service

Algunas configuraciones se deben mantener en el nivel de App Service como la configuración del sitio, como las versiones de idioma. Normalmente, esta configuración se establece en el portal, mediante las API de REST o mediante la CLI de Azure o Azure PowerShell. A continuación se muestran las opciones de configuración del sitio que podrían ser necesarias, según el lenguaje en tiempo de ejecución, el sistema operativo y las versiones:

linuxFxVersion

En el caso de las aplicaciones de funciones que se ejecutan en Linux, linuxFxVersion indica el lenguaje y la versión del proceso de trabajo específico del lenguaje. Esta información se usa, junto con FUNCTIONS_EXTENSION_VERSION, para determinar qué imagen de contenedor de Linux específica se instala para ejecutar la aplicación de funciones. Esta configuración se puede establecer en un valor predefinido o en un URI de imagen personalizado.

Este valor se establece automáticamente al crear la aplicación de funciones de Linux. Es posible que tenga que establecerlo para las implementaciones de plantilla de ARM y Bicep y en determinados escenarios de actualización.

Valores válidos de linuxFxVersion

Puede usar el siguiente comando de la CLI de Azure para ver una tabla de valores actuales linuxFxVersion, mediante la versión compatible del entorno de ejecución de Functions:

az functionapp list-runtimes --os linux --query "[].{stack:join(' ', [runtime, version]), LinuxFxVersion:linux_fx_version, SupportedFunctionsVersions:to_string(supported_functions_versions[])}" --output table

El comando anterior requiere que actualice a la versión 2.40 de la CLI de Azure.

Imágenes personalizadas

Al crear y mantener su propio contenedor de Linux personalizado para la aplicación de funciones, el valor linuxFxVersion también tiene el formato DOCKER|<IMAGE_URI>, como en el ejemplo siguiente:

linuxFxVersion = "DOCKER|contoso.com/azurefunctionsimage:v1.0.0"

Para más información, consulte Creación de una función en Linux con un contenedor personalizado.

Importante

Al usar contenedores personalizados, es necesario mantener actualizada la imagen base del contenedor a la imagen base compatible más reciente. Las imágenes base admitidas para Azure Functions son específicas del idioma y se encuentran en los repositorios de imágenes base de Azure Functions, por idioma:

El equipo de Functions se compromete a publicar actualizaciones mensuales de estas imágenes base. Las actualizaciones regulares incluyen las actualizaciones de versión secundaria y las correcciones de seguridad más recientes tanto del entorno de ejecución de Functions como de los lenguajes. En el caso de los contenedores personalizados, debería actualizar periódicamente la imagen base en Dockerfile, recompilar y volver a implementar las versiones actualizadas de los contenedores personalizados.

netFrameworkVersion

Establece la versión específica de .NET para las funciones de C#. Para más información, consulte Actualización de la aplicación de funciones en Azure.

PowerShellVersion

Establece la versión específica de PowerShell en la que se ejecutan las funciones. Para más información, consulte Cambio de la versión de PowerShell.

Cuando se ejecuta localmente, en su lugar se usa la configuración FUNCTIONS_WORKER_RUNTIME_VERSION en el archivo local.settings.json.

Pasos siguientes

Obtenga información acerca de cómo actualizar la configuración de la aplicación

Consulte la configuración en el archivo host.json

Consulte otros valores de aplicación para aplicaciones de App Service