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

La configuración de una aplicación de función contiene opciones de configuración que afectan a todas las funciones de dicha aplicación. Se tiene acceso a esta configuración como variables de entorno. 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.

En este artículo, los valores de la cadena de conexión de ejemplo están truncados para mejorar la legibilidad.

Dado que Azure Functions usa la plataforma de Azure App Service para hospedarse, es posible que encuentre alguna configuración relevante para el hospedaje de la aplicación de funciones documentada en Variables de entorno y configuración de la aplicación en Azure App Service.

Consideraciones sobre la configuración de la aplicación

Al usar la configuración de la aplicación, debe tener en cuenta las consideraciones siguientes:

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

  • En los nombres de configuración, el carácter de doble subrayado (__) y los dos puntos (:) se consideran valores reservados. Los caracteres de doble subrayado se interpretan como delimitadores jerárquicos en Windows y Linux, y los dos puntos solo se interpretan de la misma manera en Linux. Por ejemplo, la configuración AzureFunctionsWebHost__hostid=somehost_123456 se interpretaría como el siguiente objeto JSON:

    "AzureFunctionsWebHost": {
        "hostid": "somehost_123456"
    }
    

    En este artículo, solo se usan caracteres de doble subrayado, ya que se admiten en ambos sistemas operativos. La mayoría de las configuraciones que admiten conexiones de identidad administrada usan caracteres de subrayado dobles.

  • Cuando Functions se ejecuta localmente, la configuración de la aplicación se especifica en la colección Values en local.settings.json.

  • Hay otras opciones de configuración de aplicación de funciones en el archivo host.json y en local.settings.json.

  • 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.

  • En este artículo se documenta la configuración más pertinente para las aplicaciones de funciones. Dado que Azure Functions se ejecuta en App Service, también se admiten otras configuraciones de la aplicación. Para más información, consulte Variables de entorno y configuración de la aplicación en Azure App Service.

  • Algunos escenarios también requieren que trabaje con la configuración documentada en Configuración del sitio de App Service.

  • Cambiar cualquier configuración de solo lectura de la aplicación App Service puede provocar que la aplicación de funciones deje de responder.

  • Tenga cuidado al actualizar la configuración de la aplicación mediante las API de REST, incluidas las plantillas de ARM. Dado que estas API reemplazan la configuración de la aplicación existente, debe incluir toda la configuración existente al agregar o modificar la configuración mediante las API de REST o las plantillas de ARM. Cuando sea posible, use la CLI de Azure o Azure PowerShell para trabajar mediante programación con la configuración de la aplicación. Para más información, consulte Trabajar con la configuración de la aplicación.

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

No se pueden usar APPINSIGHTS_INSTRUMENTATIONKEY y APPLICATIONINSIGHTS_CONNECTION_STRING a la vez. Se recomienda el uso de APPLICATIONINSIGHTS_CONNECTION_STRING.

APPLICATIONINSIGHTS_AUTHENTICATION_STRING

Habilita el acceso a Application Insights mediante la autenticación de Microsoft Entra. Use esta configuración cuando deba conectarse al área de trabajo de Application Insights mediante la autenticación de Microsoft Entra. Para más información, consulte Autenticación de Microsoft Entra para Application Insights.

Cuando se usa APPLICATIONINSIGHTS_AUTHENTICATION_STRING, el valor específico que establezca depende del tipo de identidad administrada:

Identidad administrada Valor del valor
Asignada por el sistema Authorization=AAD
Asignada por el usuario Authorization=AAD;ClientId=<USER_ASSIGNED_CLIENT_ID>

Este requisito de autenticación se aplica a las conexiones desde el host de Functions, el depurador de instantáneas, el generador de perfiles y cualquier agente específico del lenguaje. Para usar esta configuración, la identidad administrada ya debe estar disponible para la aplicación de funciones, con un rol asignado equivalente a Monitoring Metrics Publisher.

Nota:

Al usar APPLICATIONINSIGHTS_AUTHENTICATION_STRING para conectarse a Application Insights mediante la autenticación de Microsoft Entra, también debe Deshabilitar la autenticación local para Application Insights. Esta configuración necesita la autenticación de Microsoft Entra para que la telemetría se ingiera en el área de trabajo.

APPLICATIONINSIGHTS_CONNECTION_STRING

Cadena de conexión para Application Insights. No se pueden usar APPINSIGHTS_INSTRUMENTATIONKEY y APPLICATIONINSIGHTS_CONNECTION_STRING a la vez. Aunque el uso de APPLICATIONINSIGHTS_CONNECTION_STRING se recomienda en todos los casos, es imprescindible en los casos siguientes:

  • 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=...

Para conectarse a Application Insights con la autenticación de Microsoft Entra, debe usar APPLICATIONINSIGHTS_AUTHENTICATION_STRING.

AZURE_FUNCTION_PROXY_DISABLE_LOCAL_CALL

Importante

Azure Functions Proxies es una característica heredada en las versiones 1.x a 3.x del entorno de ejecución de Azure Functions. Para obtener más información sobre la compatibilidad heredada en la versión 4.x, consulte API REST sin servidor mediante Azure Functions.

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. El valor predeterminado es false.

AZURE_FUNCTION_PROXY_BACKEND_URL_DECODE_SLASHES

Importante

Azure Functions Proxies es una característica heredada en las versiones 1.x a 3.x del entorno de ejecución de Azure Functions. Para obtener más información sobre la compatibilidad heredada en la versión 4.x, consulte API REST sin servidor mediante Azure Functions.

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

Configura el entorno del host en tiempo de ejecución de la aplicación de funciones cuando se ejecuta en Azure. Este valor se lee durante la inicialización y solo el entorno en tiempo de ejecución respeta estos valores:

Value Descripción
Production Representa un entorno de producción, con optimizaciones de rendimiento completas y registro reducidos. Este es el valor predeterminado cuando AZURE_FUNCTIONS_ENVIRONMENT no se establece o se establece en un valor no admitido.
Staging Representa un entorno de ensayo, como cuando se ejecuta en un espacio de ensayo.
Development Un entorno de desarrollo admite un registro más detallado y otras optimizaciones de rendimiento reducidas. Azure Functions Core Tools establece AZURE_FUNCTIONS_ENVIRONMENT en Development cuando se ejecuta en el equipo local. Esta configuración no se puede invalidar en el archivo local.settings.json.

Use esta configuración en lugar de ASPNETCORE_ENVIRONMENT si necesita cambiar el entorno en tiempo de ejecución de Azure por uno distinto de Production. Para más información, consulte Métodos y clase Startup basados en entorno.

Esta configuración solo se admite en la versión 1.x del entorno de ejecución de Functions.

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 id. de host debe cumplir los siguientes requisitos:

  • Tener entre 1 y 32 caracteres
  • Solo contener minúsculas, números y guiones
  • No iniciar ni terminar con un guión
  • 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

Esta configuración está en desuso y solo se admite cuando se ejecuta en la versión 1.x del entorno de ejecución de Azure Functions.

Cadena de conexión de la cuenta de almacenamiento opcional para almacenar los registros y mostrarlos en la pestaña Monitor del portal. 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=...

AzureWebJobsDisableHomepage

Un valor de true deshabilita 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 usar el modo Release al compilar código .NET; false significa usar 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. Esta configuración requiere que se establezca AzureWebJobsSecretStorageType 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, vea Administración del almacenamiento de claves.

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. Esta configuración requiere que se establezca AzureWebJobsSecretStorageType 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, vea Administración del almacenamiento de claves.

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. Esta configuración requiere que se establezca AzureWebJobsSecretStorageType 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, vea Administración del almacenamiento de claves.

AzureWebJobsSecretStorageKeyVaultName

Esta configuración está en desuso y solo se usó al ejecutarse en la versión 3.x del entorno de ejecución de Azure Functions.

Nombre de la instancia de Key Vault que se usa para almacenar las claves. Esta configuración solo se usó en la versión 3.x del entorno de ejecución de Functions, que ya no se admite. Para la versión 4.x, use AzureWebJobsSecretStorageKeyVaultUri en su lugar. Esta configuración requiere que se establezca AzureWebJobsSecretStorageType 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 las funciones se ejecutan 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, vea Administración del almacenamiento de claves.

AzureWebJobsSecretStorageKeyVaultTenantId

Identificador de inquilino del registro de aplicación que se usa para acceder al almacén donde se almacenan las claves. Esta configuración requiere que se establezca AzureWebJobsSecretStorageType 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, vea Administración del almacenamiento de claves.

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. Esta configuración requiere que se establezca AzureWebJobsSecretStorageType 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 las funciones se ejecutan 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, vea Administración del almacenamiento de claves.

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. El almacenamiento del blob 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 comportamiento predeterminado para Functions v1.x.
AzureWebJobsSecretStorageType keyvault Las claves se almacenan en la instancia de Key Vault establecida por AzureWebJobsSecretStorageKeyVaultName.
AzureWebJobsSecretStorageType 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, vea Administración del almacenamiento de claves.

AzureWebJobsStorage

Especifica la cadena de conexión de una cuenta de Azure Storage que el entorno de ejecución de Functions usa para las operaciones normales. Algunos usos de Functions 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. Para más información, consulte Requisitos de la cuenta de almacenamiento.

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

En lugar de una cadena de conexión, puede usar una conexión basada en identidades para esta cuenta de almacenamiento. Para obtener más información, consulte Conexión al almacenamiento del host con una identidad.

AzureWebJobsStorage__accountName

Cuando se usa una conexión de almacenamiento basada en identidades, establece el nombre de la cuenta de almacenamiento en lugar de usar la cadena de conexión en AzureWebJobsStorage. Esta sintaxis es única de AzureWebJobsStorage y no se puede usar para otras conexiones basadas en identidades.

Clave Valor de ejemplo
AzureWebJobsStorage__accountName <STORAGE_ACCOUNT_NAME>

En el caso de las nubes soberanas o al usar un DNS personalizado, debe usar la configuración AzureWebJobsStorage__*ServiceUri específica del servicio.

AzureWebJobsStorage__blobServiceUri

Cuando se usa una conexión de almacenamiento basada en identidades, establece el URI del plano de datos del servicio de blobs de la cuenta de almacenamiento.

Clave Valor de ejemplo
AzureWebJobsStorage__blobServiceUri https://<STORAGE_ACCOUNT_NAME>.blob.core.windows.net

Use esta configuración en lugar de AzureWebJobsStorage__accountName en nubes soberanas o cuando use un DNS personalizado. Para obtener más información, consulte Conexión al almacenamiento del host con una identidad.

AzureWebJobsStorage__queueServiceUri

Cuando se usa una conexión de almacenamiento basada en identidades, establece el URI del plano de datos del servicio de cola de la cuenta de almacenamiento.

Clave Valor de ejemplo
AzureWebJobsStorage__queueServiceUri https://<STORAGE_ACCOUNT_NAME>.queue.core.windows.net

Use esta configuración en lugar de AzureWebJobsStorage__accountName en nubes soberanas o cuando use un DNS personalizado. Para obtener más información, consulte Conexión al almacenamiento del host con una identidad.

AzureWebJobsStorage__tableServiceUri

Cuando se usa una conexión de almacenamiento basada en identidades, establece el URI del plano de datos de un servicio de tabla de la cuenta de almacenamiento.

Clave Valor de ejemplo
AzureWebJobsStorage__tableServiceUri https://<STORAGE_ACCOUNT_NAME>.table.core.windows.net

Use esta configuración en lugar de AzureWebJobsStorage__accountName en nubes soberanas o cuando use un DNS personalizado. Para obtener más información, consulte Conexión al almacenamiento del host con una identidad.

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_REGISTRY_SERVER_PASSWORD

Indica la contraseña usada para acceder a un registro de contenedor privado. Esta configuración solo es necesaria al implementar la aplicación de funciones en contenedor desde un registro de contenedor privado. Para más información, consulte Variables de entorno y configuración de la aplicación en Azure App Service.

DOCKER_REGISTRY_SERVER_URL

Indica la dirección URL de un registro de contenedor privado. Esta configuración solo es necesaria al implementar la aplicación de funciones en contenedor desde un registro de contenedor privado. Para más información, consulte Variables de entorno y configuración de la aplicación en Azure App Service.

DOCKER_REGISTRY_SERVER_USERNAME

Indica la cuenta usada para acceder a un registro de contenedor privado. Esta configuración solo es necesaria al implementar la aplicación de funciones en contenedor desde un registro de contenedor privado. Para más información, consulte Variables de entorno y configuración de la aplicación en Azure App Service.

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 1.

ENABLE_ORYX_BUILD

Indica si el sistema de compilación de Oryx se usa durante la implementación. ENABLE_ORYX_BUILD debe establecerse en true al hacer implementaciones de compilación remota en Linux. Para obtener más información, consulte Compilación remota.

Clave Valor de ejemplo
ENABLE_ORYX_BUILD true

FUNCTION_APP_EDIT_MODE

Indica si puede editar la aplicación de funciones en Azure Portal. Los valores válidos son readwrite y readonly.

Clave Valor de ejemplo
FUNCTION_APP_EDIT_MODE readonly

El tiempo de ejecución establece el valor en función de la pila de idioma y el estado de implementación de la aplicación de funciones. Para más información, consulte Limitaciones de desarrollo en Azure Portal.

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, ~4). Cuando haya disponibles nuevas versiones secundarias de la misma versión principal, se instalan automáticamente en la aplicación de funciones.

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
~1 1.x El soporte técnico finaliza el 14 de septiembre de 2026

Un valor de ~4 significa que la aplicación se ejecuta en la versión 4.x del runtime. Un valor de ~1 ancla la aplicación a la versión 1.x del tiempo de ejecución. Las versiones 2.x y 3.x del runtime ya no se admiten. Para más información, consulte Selección de un destino para versiones de runtime de Azure Functions. Si el soporte técnico le solicita que ancle la aplicación a una versión secundaria específica, use el número de versión completo (por ejemplo, 4.0.12345). Para más información, consulte Cómo seleccionar un destino para versiones en tiempo de ejecución de Azure Functions.

FUNCTIONS_INPROC_NET8_ENABLED

Indica si una aplicación puede usar .NET 8 en el modelo en proceso. Para usar .NET 8 en el modelo en proceso, este valor debe establecerse en 1. Consulte Actualización de .NET 8 de destino para obtener instrucciones completas, incluidos otros valores de configuración necesarios.

Clave Valor de ejemplo
FUNCTIONS_INPROC_NET8_ENABLED 1

Establezca en 0 para deshabilitar la compatibilidad con .NET 8 en el modelo en proceso.

FUNCTIONS_NODE_BLOCK_ON_ENTRY_POINT_ERROR

Esta configuración de aplicación es una manera temporal de las aplicaciones Node.js para habilitar un cambio importante que facilita la solución de errores de punto de entrada en Node.js v18 o versiones anteriores. Se recomienda encarecidamente usar true, especialmente para las aplicaciones de modelo de programación v4, que siempre usan archivos de punto de entrada. El comportamiento sin el cambio importante (false) omite los errores de punto de entrada y no los registra en Application Insights.

A partir de Node.js v20, la configuración de la aplicación no tiene ningún efecto y el comportamiento de cambio importante siempre está habilitado.

Para Node.js v18 o inferior, se usa la configuración de la aplicación y el comportamiento predeterminado depende de si el error se produce antes o después de que se haya registrado una función de modelo v4:

  • Si el error se produce antes (por ejemplo, si usa el modelo v3 o el archivo de punto de entrada no existe), el comportamiento predeterminado coincide con false.
  • Si el error se produce después (por ejemplo, si intenta registrar funciones duplicadas de modelo v4), el comportamiento predeterminado coincide con true.
Llave Valor Descripción
FUNCTIONS_NODE_BLOCK_ON_ENTRY_POINT_ERROR true Bloquee los errores de punto de entrada y regístrelos en Application Insights.
FUNCTIONS_NODE_BLOCK_ON_ENTRY_POINT_ERROR false Ignore los errores de punto de entrada y no los registre en Application Insights.

FUNCTIONS_REQUEST_BODY_SIZE_LIMIT

Invalida el límite predeterminado del tamaño del cuerpo de las solicitudes enviadas a los puntos de conexión HTTP. El valor se da en bytes, con un tamaño de solicitud máximo predeterminado de 104,857,600 bytes.

Clave Valor de ejemplo
FUNCTIONS_REQUEST_BODY_SIZE_LIMIT 250000000

FUNCTIONS_V2_COMPATIBILITY_MODE

Importante

Ya no se admite esta configuración. Originalmente se proporcionó para habilitar una solución alternativa a corto plazo para las aplicaciones que tenían como destino el entorno de ejecución v2.x para poder ejecutarse en su lugar en el entorno de ejecución v3.x mientras todavía se admitía. Excepto en las aplicaciones heredadas que se ejecutan en la versión 1.x, todas las aplicaciones de función deben ejecutarse en la versión 4.x del entorno de ejecución de Functions: FUNCTIONS_EXTENSION_VERSION=~4. Para más información, consulte Selección de un destino para versiones de runtime de Azure Functions.

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 (FUNCTIONS_WORKER_RUNTIME=dotnet).

Clave Valor de ejemplo
FUNCTIONS_WORKER_PROCESS_COUNT 2

FUNCTIONS_WORKER_RUNTIME

El lenguaje o la pila de lenguaje del entorno de ejecución del trabajo que se cargará en la aplicación de función. Esto corresponde al lenguaje usado en la aplicación (por ejemplo, python). 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:

Value Lenguaje o pila de lenguaje
dotnet C# (biblioteca de clases)
C# (script)
dotnet-isolated C# (proceso de trabajo aislado)
java Java
node JavaScript
TypeScript
powershell PowerShell
python Python
custom Otros

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.

JAVA_OPTS

Se usa para personalizar la máquina virtual Java (JVM) que se usa para ejecutar las funciones de Java cuando se ejecuta en un plan Premium o en un plan Dedicado. Cuando se ejecuta en un plan de Consumo, use languageWorkers__java__arguments en su lugar. Para más información, consulte Personalización de JVM.

languageWorkers__java__arguments

Se usa para personalizar la máquina virtual Java (JVM) que se usa para ejecutar las funciones de Java cuando se ejecuta en un plan de Consumo. Esta configuración aumenta los tiempos de inicio en frío para las funciones de Java que se ejecutan en un plan de Consumo. Para un plan Premium o Dedicado, use JAVA_OPTS en su lugar. Para más información, consulte Personalización de JVM.

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 deba ejecutar una compilación remota mediante dependencias personalizadas. Estas dependencias personalizadas pueden estar 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.

PROYECTO

Una configuración de implementación continua que indica al servicio de implementación de Kudu la carpeta de un repositorio conectado para la ubicación del proyecto implementable.

Clave Valor de ejemplo
PROYECTO WebProject/WebProject.csproj

PYTHON_ISOLATE_WORKER_DEPENDENCIES

La configuración es específica de las aplicaciones de funciones de Python. Define la prioridad del orden de carga del módulo. De forma predeterminada, este valor está establecido en 0.

Key Valor Descripción
PYTHON_ISOLATE_WORKER_DEPENDENCIES 0 Priorice la carga de las bibliotecas de Python desde las dependencias internas del trabajo de Python, que es el comportamiento predeterminado. 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 del manual de la extensión o el documento léame. De forma predeterminada, este valor se establece en 0.

Clave 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. Esta configuración no garantiza la cantidad 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_DO_BUILD_DURING_DEPLOYMENT

Controla el comportamiento de compilación remota durante la implementación. Cuando SCM_DO_BUILD_DURING_DEPLOYMENT se establece en true, el proyecto se compila de forma remota durante la implementación.

Clave Valor de ejemplo
SCM_DO_BUILD_DURING_DEPLOYMENT true

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 Habilitar los registros de ejecución de streaming en Azure Functions.

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 Configuración de conexión de la cuenta de almacenamiento.

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

Este valor es necesario para las aplicaciones de los planes Consumo y Premium elástico 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.

Azure Files no admite el uso de identidades administradas al acceder al recurso compartido de archivos. Para más información, consulte Escenarios de autenticación admitidos en Azure Files.

WEBSITE_CONTENTOVERVNET

Importante

WEBSITE_CONTENTOVERVNET es una configuración de aplicación heredada que se ha reemplazado por la propiedad de sitio vnetContentShareEnabled.

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. Solo es necesario cuando se usan WEBSITE_CONTENTSHARE y WEBSITE_CONTENTAZUREFILECONNECTIONSTRING. 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

Esta configuración de la aplicación es necesaria en los planes Elastic Premium y Dedicated (App Service) (Estándar y superior). No se admite cuando se ejecuta en un plan de consumo.

Nota:

Debe tener especial cuidado al enrutar al recurso compartido de contenido en una cuenta de almacenamiento compartida por varias aplicaciones de función en el mismo plan. Para obtener más información, vea Enrutamiento coherente a través de redes virtuales en el artículo Consideraciones sobre almacenamiento.

WEBSITE_CONTENTSHARE

Nombre del recurso compartido de archivos que Functions usa para almacenar archivos de configuración y código de la aplicación de funciones. Los planes de escalado controlado por eventos requieren este contenido. Se usa con WEBSITE_CONTENTAZUREFILECONNECTIONSTRING. El valor predeterminado es una cadena única generada por el entorno de ejecución que comienza por el nombre de la aplicación de funciones. Para más información, consulte Configuración de conexión de la cuenta de almacenamiento.

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 recurso compartido se crea cuando se crea la aplicación de funciones. 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) o archivo Bicep 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. No establecer WEBSITE_CONTENTSHARE es el enfoque recomendado para una implementación de plantillas de ARM.
  • Hay escenarios en los que debe establecer el valor WEBSITE_CONTENTSHARE en un valor 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. En el caso de una cuenta de almacenamiento protegida por una red virtual, también debe crear el propio recurso compartido como parte de la implementación automatizada. Para más información, consulte Implementaciones protegidas.
  • 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.

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_FUNCTIONS_ARMCACHE_ENABLED

Deshabilita el almacenamiento en caché al implementar aplicaciones de funciones mediante plantillas de Azure Resource Manager (ARM).

Clave Valor de ejemplo
WEBSITE_FUNCTIONS_ARMCACHE_ENABLED 0

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 ~18, se usa la versión más reciente de Node.js 18. 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 ~18

WEBSITE_OVERRIDE_STICKY_DIAGNOSTICS_SETTINGS

Al realizar un intercambio de ranuras en una aplicación de funciones que se ejecuta en un plan Premium, el intercambio puede fallar cuando la cuenta de almacenamiento dedicada que usa la aplicación tiene restricciones de red. Este fallo se debe a una característica de registro de aplicaciones heredada, que comparten tanto Functions como App Service. Esta configuración invalida esa característica de registro heredada y permite que se produzca el intercambio.

Clave Valor de ejemplo
WEBSITE_OVERRIDE_STICKY_DIAGNOSTICS_SETTINGS 0

Agregue WEBSITE_OVERRIDE_STICKY_DIAGNOSTICS_SETTINGS con un valor de 0 a todas las ranuras para asegurarse de que la configuración de diagnóstico heredada no bloquea sus intercambios. También puede agregar esta configuración y valor solo a la ranura de producción como una configuración de ranura de implementación (persistente).

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 funciones se ejecute desde un archivo de paquete, el cual se puede montar o implementar localmente en una URL externa.

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 externo 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 WEBSITE_RUN_FROM_PACKAGE habilitada, 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).

Al realizar la implementación desde la dirección URL de un paquete externo, también debe sincronizar manualmente los desencadenadores. Para obtener más información, consulte Sincronización de desencadenadores.

WEBSITE_SKIP_CONTENTSHARE_VALIDATION

La configuración de WEBSITE_CONTENTAZUREFILECONNECTIONSTRING y WEBSITE_CONTENTSHARE tiene 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 la aplicación de funciones 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. En este caso, las funciones devuelven errores HTTP 500. Para más información, consulte Solución del error: "Azure Functions Runtime no es accesible"

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:

WEBSITE_TIME_ZONE y TZ no se admiten actualmente cuando se ejecuta en Linux en un plan de Consumo. En este caso, establecer WEBSITE_TIME_ZONE o TZ puede crear problemas relacionados con SSL y hacer que las métricas deje de funcionar para la aplicación.

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_USE_PLACEHOLDER

Indica si se debe usar una optimización específica de inicio en frío al ejecutarse en el plan de Consumo. Establezca el valor en 0 para deshabilitar la optimización de inicio en frío en el plan de Consumo.

Clave Valor de ejemplo
WEBSITE_USE_PLACEHOLDER 1

WEBSITE_USE_PLACEHOLDER_DOTNETISOLATED

Indica si se debe usar una optimización del inicio de acceso esporádico específico al ejecutar funciones de proceso de trabajo aislado de .NET en el plan de consumo. Establezca el valor en 0 para deshabilitar la optimización de inicio en frío en el plan de Consumo.

Clave Valor de ejemplo
WEBSITE_USE_PLACEHOLDER_DOTNETISOLATED 1

WEBSITE_VNET_ROUTE_ALL

Importante

WEBSITE_VNET_ROUTE_ALL es una configuración de aplicación heredada que se ha reemplazado por la configuración de sitio de 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 de la aplicación se enruta a través de la red virtual. Necesitará esta configuración al configurar Integración de red virtual regional en los planes de hosting Elastic Premium y Dedicated. 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

WEBSITES_ENABLE_APP_SERVICE_STORAGE

Indica si el directorio /home se comparte entre instancias escaladas, con un valor predeterminado de true. Debe establecerlo en false al implementar la aplicación de funciones en un contenedor.

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. Esta configuración se administra 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:

AcrUseManagedIdentityCreds

Indica si la imagen se obtiene de una instancia de Azure Container Registry mediante la autenticación de identidad administrada. Un valor de true requiere que se use la identidad administrada, que se recomienda sobre las credenciales de autenticación almacenadas como procedimiento recomendado de seguridad.

AcrUserManagedIdentityID

Indica la identidad administrada que se va a usar al obtener la imagen de una instancia de Azure Container Registry. Requiere que AcrUseManagedIdentityCreds se establezca en true. Estos son los valores válidos:

Valor Descripción
system Se usa la identidad administrada asignada por el sistema de la aplicación de funciones.
<USER_IDENTITY_RESOURCE_ID> El id. de recurso completo de una identidad administrada asignada por el usuario.

La identidad que especifique debe agregarse al rol ACRPull en el registro de contenedor. Para obtener más información, consulte Crear y configurar una aplicación de funciones en Azure con la imagen.

alwaysOn

En una aplicación de funciones que se ejecuta en un Plan dedicado (App Service), el tiempo de ejecución de Functions deja de estar inactivo después de unos minutos de inactividad, que solo señala las solicitudes a un desencadenador HTTP reactiva la aplicación de funciones. Para asegurarse de que las funciones desencadenadas sin HTTP se ejecutan correctamente, incluidas las funciones de desencadenador de temporizador, habilite Always On para la aplicación de funciones estableciendo la configuración del sitio de alwaysOn en un valor de true.

functionsRuntimeAdminIsolationEnabled

Determina si se puede acceder a los puntos de conexión de administrador integrados (/admin) de la aplicación de funciones. Cuando se establece en false (valor predeterminado), la aplicación permite las solicitudes a los puntos de conexión en /admin los que esas solicitudes presentan una clave maestra en la solicitud. Cuando no se puede acceder a los puntos de conexión true y /admin, incluso con una clave maestra.

Esta propiedad no se puede establecer para las aplicaciones que se ejecutan en la SKU de consumo de Linux y no se puede establecer para las aplicaciones que se ejecutan en la versión 1.x de Azure Functions. Si usa la versión 1.x, primero debe migrar a la versión 4.x.

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 tiene en su lugar el formato DOCKER|<IMAGE_URI>, como en el ejemplo siguiente:

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

Esto indica el origen del registro del contenedor implementado. Para obtener más información, consulte Trabajar con contenedores y Azure Functions.

Importante

Al crear contenedores propios, tendrá que mantener actualizada la imagen base del contenedor con la imagen base compatible más reciente. Las imágenes base admitidas para Azure Functions son específicas del lenguaje y se encuentran en los repositorios de imágenes base de Azure Functions.

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. Debería actualizar periódicamente el contenedor desde la imagen base más reciente y volver a implementar desde la versión actualizada del contenedor.

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.

vnetContentShareEnabled

Las aplicaciones que se ejecutan en un plan Premium usan un recurso compartido de archivos para almacenar contenido. El nombre de este recurso compartido de contenido se almacena en la configuración de la aplicación WEBSITE_CONTENTSHARE y su cadena de conexión se almacena en WEBSITE_CONTENTAZUREFILECONNECTIONSTRING. Para enrutar el tráfico entre su aplicación de función y el contenido compartido a través de una red virtual, también debe establecer vnetContentShareEnabled a true. Habilitar esta propiedad de sitio es un requisito cuando restringir la cuenta de almacenamiento a una red virtual en los planes de hosting Elastic Premium y Dedicated.

Nota:

Debe tener especial cuidado al enrutar al recurso compartido de contenido en una cuenta de almacenamiento compartida por varias aplicaciones de función en el mismo plan. Para obtener más información, vea Enrutamiento coherente a través de redes virtuales en el artículo Consideraciones sobre almacenamiento.

Esta propiedad de sitio reemplaza la configuración heredada WEBSITE_CONTENTOVERVNET.

vnetImagePullEnabled

Functions admite la ejecución de aplicaciones funcionales en contenedores Linux. Para conectarse y extraer de un registro de contenedor dentro de una red virtual, debe establecer vnetImagePullEnabled en true. Esta propiedad de sitio se admite en los planes de hosting Elastic Premium y Dedicated. El plan de consumo Flex no depende de las propiedades del sitio ni de los ajustes de la aplicación para configurar la conexión en red. Para obtener más información, consulte Desusos del plan Flex Consumption.

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 true indica que todo el tráfico de la aplicación se enruta a través de la red virtual. Use esta opción al configurar integración de red virtual regional en los planes Elastic Premium y Dedicated. 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. Para más información, consulte Configuración del enrutamiento de aplicaciones.

Esta configuración de sitio reemplaza la configuración heredada de WEBSITE_VNET_ROUTE_ALL.

Desuso del plan de consumo flexible

En el plan de consumo flexible, estas propiedades de sitio y la configuración de la aplicación están en desuso y no deben usarse al crear recursos de la aplicación de funciones:

Configuración o propiedad Motivo
ENABLE_ORYX_BUILD Se reemplaza por el parámetro remoteBuild al implementar en Flex Consumption
FUNCTIONS_EXTENSION_VERSION El back-end establece la configuración de la aplicación. Se puede omitir un valor de ~1.
FUNCTIONS_WORKER_RUNTIME Reemplazado por name en properties.functionAppConfig.runtime
FUNCTIONS_WORKER_RUNTIME_VERSION Reemplazado por version en properties.functionAppConfig.runtime
FUNCTIONS_MAX_HTTP_CONCURRENCY Se reemplaza por la sección de desencadenador de escalado y simultaneidad
FUNCTIONS_WORKER_PROCESS_COUNT Configuración no válida
FUNCTIONS_WORKER_DYNAMIC_CONCURRENCY_ENABLED Configuración no válida
SCM_DO_BUILD_DURING_DEPLOYMENT Se reemplaza por el parámetro remoteBuild al implementar en Flex Consumption
WEBSITE_CONTENTAZUREFILECONNECTIONSTRING Se reemplaza por la sección de implementación de functionAppConfig
WEBSITE_CONTENTOVERVNET No se usa para las redes en Flex Consumption
WEBSITE_CONTENTSHARE Se reemplaza por la sección de implementación de functionAppConfig
WEBSITE_DNS_SERVER DNS se hereda de la red virtual integrada en Flex
WEBSITE_NODE_DEFAULT_VERSION Reemplazado por version en properties.functionAppConfig.runtime
WEBSITE_RUN_FROM_PACKAGE No se usa para implementaciones en Flex Consumption
WEBSITE_SKIP_CONTENTSHARE_VALIDATION El recurso compartido de contenido no se usa en Flex Consumption
WEBSITE_VNET_ROUTE_ALL No se usa para las redes en Flex Consumption
properties.alwaysOn No válido
properties.containerSize Se ha cambiado el nombre a instanceMemoryMB
properties.ftpsState FTPS no es compatible
properties.isReserved No válido
properties.IsXenon No válido
properties.javaVersion Reemplazado por version en properties.functionAppConfig.runtime
properties.LinuxFxVersion Reemplazado por properties.functionAppConfig.runtime
properties.netFrameworkVersion Reemplazado por version en properties.functionAppConfig.runtime
properties.powerShellVersion Reemplazado por version en properties.functionAppConfig.runtime
properties.siteConfig.functionAppScaleLimit Se ha cambiado el nombre a maximumInstanceCount
properties.siteConfig.preWarmedInstanceCount Se ha cambiado el nombre a alwaysReadyInstances
properties.use32BitWorkerProcess 32-bit no es compatible
properties.vnetBackupRestoreEnabled No se usa para las redes en Flex Consumption
properties.vnetContentShareEnabled No se usa para las redes en Flex Consumption
properties.vnetImagePullEnabled No se usa para las redes en Flex Consumption
properties.vnetRouteAllEnabled No se usa para las redes en Flex Consumption
properties.windowsFxVersion No válido

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