Compartir a través de


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.

Azure Functions usa la plataforma de Azure App Service para hospedar. Es posible que encuentre alguna configuración relevante para hospedar la aplicación de funciones 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 siguientes consideraciones:

  • Cambiar la configuración de la aplicación hace que la aplicación de funciones se reinicie de forma predeterminada en todos los planes de hospedaje. Para implementaciones sin tiempo de inactividad al cambiar la configuración, use el plan de consumo flexible con actualizaciones graduales como estrategia de actualización del sitio. Para ver otros planes de hospedaje, consulte Optimización de las implementaciones para obtener instrucciones sobre cómo minimizar el tiempo de inactividad.

  • En los nombres de configuración, el carácter de doble subrayado (__) y los dos puntos (:) se consideran valores reservados. Los caracteres de subrayado doble se interpretan como delimitadores jerárquicos en Windows y Linux. Los dos puntos se interpretan de la misma manera solo en Windows. 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 las funciones se ejecutan localmente, la configuración de la aplicación se especifica en la Values colección del 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. Este enfoque es útil para escenarios en los que es necesario configurar o modificar valores de host.json específicos para un entorno específico. Este enfoque también le permite cambiar la configuración host.json sin necesidad de 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 la configuración de la aplicación de App Service de solo lectura 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.

Key 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 usar 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
System-assigned Authorization=AAD
User-assigned 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.

Note

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. Se recomienda usar APPLICATIONINSIGHTS_CONNECTION_STRING en todos los casos. Es un requisito 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.

Key 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

Important

Los servidores proxy de Azure Functions eran una característica de las versiones 1.x a la 3.x del entorno de ejecución de Azure Functions. Para más información, vea Functions Proxies.

AZURE_FUNCTION_PROXY_BACKEND_URL_DECODE_SLASHES

Important

Los servidores proxy de Azure Functions eran una característica de las versiones 1.x a la 3.x del entorno de ejecución de Azure Functions. 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. El tiempo de ejecución solo acepta estos valores:

Value Description
Production Representa un entorno de producción, con optimizaciones de rendimiento completas y registro reducidos. Este valor 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.

Key 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 registros y mostrarlos en la pestaña Monitor de Azure 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.

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

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

Captura de pantalla que muestra la página de aterrizaje de Function App.

AzureWebJobsDotNetReleaseCompilation

true significa usar el modo Release al compilar el código .NET. false significa usar el modo de depuración. El valor predeterminado es true.

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

Key Valor de ejemplo
AzureWebJobsFeatureFlags feature1,feature2,EnableProxies

Si la aplicación tiene actualmente esta configuración, agregue nuevas marcas al final de la lista delimitada por comas.

Banderas de funcionalidades admitidas actualmente:

Valor de marca Description
EnableProxies Vuelva 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.
EnableAzureMonitorTimeIsoFormat Habilita el ISO 8601 formato de hora en los registros de Azure Monitor para aplicaciones Linux que se ejecutan en un plan dedicado (App Service).

AzureWebJobsKubernetesSecretName

Indica el recurso de secretos de Kubernetes utilizado para almacenar las claves. Solo se admite cuando se ejecuta en Kubernetes.

Key Valor de ejemplo
AzureWebJobsKubernetesSecretName <SECRETS_RESOURCE>

Consideraciones al usar un recurso de secretos de Kubernetes:

  • También debe establecer AzureWebJobsSecretStorageType a 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.
  • No se admiten secretos inmutables y su uso genera errores en tiempo de ejecución.

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.

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

Key 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 localmente, se usa la identidad del desarrollador. La configuración debe estar en el archivolocal.settings.json.

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

Key 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. Se recomienda esta configuración para usar una instancia del almacén de claves 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.

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

Important

Los secretos no tienen como ámbito aplicaciones de funciones individuales a través de la AzureWebJobsSecretStorageKeyVaultUri configuración. Si hay varias aplicaciones de función configuradas para usar el mismo almacén de claves, comparten los mismos secretos, lo que podría provocar colisiones de claves o sobrescrituras. Para evitar un comportamiento no deseado, se recomienda usar una instancia independiente de Key Vault para cada aplicación de función.

Para más información, consulte Administración del almacenamiento de claves.

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.

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

Key Value Description
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 comportamiento es el valor 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.

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

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

Key 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__clientId

Establece el Id. de cliente de una identidad asignada por el usuario específica que se usa para obtener un token de acceso para la autenticación de identidad administrada. Requiere que AzureWebJobsStorage__credential se establezca en managedidentity. El valor es un Id. de cliente que corresponde a una identidad asignada a la aplicación. No se pueden establecer AzureWebJobsStorage__managedIdentityResourceId y AzureWebJobsStorage__clientId. Cuando no se establece, se usa la identidad asignada por el sistema.

AzureWebJobsStorage__credential

Define cómo se obtiene un token de acceso para la conexión. Use managedidentity para la autenticación de identidad administrada. Cuando se usa managedidentity, una identidad administrada debe estar disponible en el entorno de hospedaje. No establezca AzureWebJobsStorage__credential en escenarios de desarrollo local.

AzureWebJobsStorage__managedIdentityResourceId

Establece el identificador de recurso de una identidad asignada por el usuario que se usa para obtener un token de acceso para la autenticación de identidad administrada. Requiere que AzureWebJobsStorage__credential se establezca en managedidentity. El valor es el identificador de recurso de una identidad asignada a la aplicación que se usa para la autenticación de identidad administrada. No se pueden establecer AzureWebJobsStorage__managedIdentityResourceId y AzureWebJobsStorage__clientId. Cuando no se establece, se usa la identidad asignada por el sistema.

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.

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

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

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

Key Valor de ejemplo
DOCKER_SHM_SIZE 268435456

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

Requiere que FUNCTIONS_WORKER_SHARED_MEMORY_DATA_TRANSFER_ENABLED esté establecido 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.

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

Key Valor de ejemplo
FUNCTION_APP_EDIT_MODE readonly

El runtime 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 versión principal significa usar 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.

Key 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 Comment
~4 4.x Recommended
~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 pide que fije su aplicación a una versión menor 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.

Key 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 de 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 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, el comportamiento predeterminado coincide con false. Por ejemplo, si estás usando el modelo v3 o el archivo de punto de entrada no existe.
  • Si el error se produce después, el comportamiento predeterminado coincide con true. Por ejemplo, si intenta registrar funciones duplicadas del modelo v4.
Key Value Description
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.

Key Valor de ejemplo
FUNCTIONS_REQUEST_BODY_SIZE_LIMIT 250000000

FUNCTIONS_V2_COMPATIBILITY_MODE

Important

Ya no se admite esta configuración. Originalmente se proporcionó para habilitar una solución alternativa a corto plazo para las aplicaciones destinadas al entorno de ejecución v2.x. En su lugar, podrían ejecutarse en el entorno de ejecución v3.x mientras aún estuviera soportado. 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).

Key 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. Este valor corresponde al idioma que se usa 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.

Key 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 Other

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.

Key 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_APPLICATIONINSIGHTS_ENABLE_TELEMETRY

Indica si el proceso de trabajo de Java debe generar telemetría en un formato de Open Telemetry en el punto de conexión de Application Insights. Al establecer esta marca en True, se indica al host de Functions que permita que el flujo de proceso de trabajo de Java transmita registros de OpenTelemetry directamente, lo que impide entradas duplicadas de nivel de host. Para obtener más información, consulte Configuración de las opciones de la aplicación.

JAVA_ENABLE_SDK_TYPES

Permite que la aplicación de funciones de Azure use tipos nativos del SDK de Azure en asociaciones.

Note

La compatibilidad con el enlace a tipos de SDK está actualmente en versión preliminar y está limitada al SDK de Azure Blob Storage. Para obtener más información, consulte Tipos de SDK en el artículo de referencia de Java.

Key Valor de ejemplo
JAVA_ENABLE_SDK_TYPES true

Para obtener más información, consulte Tipos de SDK en el artículo de referencia de Java.

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 verificación de actualizaciones de módulos en la Galería de PowerShell al inicio del proceso y cada MDMaxBackgroundUpgradePeriod después del inicio. 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. Reducir este valor permite que la aplicación de funciones obtenga versiones más recientes del módulo antes, pero también aumenta el uso de recursos de la aplicación, incluida la E/S de red, la CPU y el 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.

Key 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 instalan las actualizaciones de dependencia 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 a la disponibilidad de la aplicación porque 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.

Dentro de cada MDNewSnapshotCheckPeriod, el trabajador de PowerShell comprueba si las actualizaciones de dependencia administradas están instaladas. Cuando se instalan 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.

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

Key Valor de ejemplo
MDMinBackgroundUpgradePeriod 1.00:00:00

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

OTEL_EXPORTER_OTLP_ENDPOINT

Indica la dirección URL a la que se exportan los datos con formato de OpenTelemetry para la ingesta. Para más información, consulte Uso de OpenTelemetry con Azure Functions.

OTEL_EXPORTER_OTLP_HEADERS

Establece una lista opcional de encabezados que se aplican a todos los datos salientes exportados a un punto de conexión de OpenTelemetry. Debe usar esta configuración cuando el punto de conexión de OpenTelemetry requiera proporcionar una clave de API. Para más información, consulte Uso de OpenTelemetry con Azure Functions.

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.

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

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

PROJECT

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.

Key Valor de ejemplo
PROJECT WebProject/WebProject.csproj

PYTHON_APPLICATIONINSIGHTS_ENABLE_TELEMETRY

Indica si el proceso de trabajo de Python debe generar telemetría en un formato de Open Telemetry en el punto de conexión de Application Insights. Al establecer esta marca en True, se indica al host de Functions que permita que el proceso de trabajo de Python exporte datos de OpenTelemetry al punto de conexión de Application Insights. Para obtener más información, consulte Configuración de las opciones de la aplicación.

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 Value Description
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. Es posible que las bibliotecas que no sean de Microsoft definidas en requirements.txt estén sombreadas.
PYTHON_ISOLATE_WORKER_DEPENDENCIES 1 Priorice la carga de las bibliotecas de Python desde el paquete de la aplicación definido en requirements.txt. Este valor 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_OPENTELEMETRY

Indica si el proceso de trabajo de Python debe exportar la telemetría a un punto de conexión de Open Telemetry. Al establecer esta marca en True, se indica al host de Functions que permita que el proceso de trabajo de Python exporte datos de OpenTelemetry al OTEL_EXPORTER_OTLP_ENDPOINT configurado. Para obtener más información, consulte Configuración de las opciones de la aplicación.

PYTHON_ENABLE_WORKER_EXTENSIONS

La configuración es específica de las aplicaciones de funciones de Python. Establecer este valor en 1 permite que el trabajador cargue extensiones del trabajador de Python definidas en requirements.txt. Permite que la aplicación de funciones acceda a las nuevas características proporcionadas por los paquetes de asociados. 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.

Key Value Description
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 trabajador del lenguaje Python usaría para ejecutar invocaciones de función, con un valor predeterminado de 1 para 3.8 y versiones anteriores de Python. 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.

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

Key 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:

Property Description
<DESTINATION> Destino al que se envían los registros. Los valores válidos son AppInsights y Blob.
Cuando use AppInsights, asegúrese de que esté habilitado Application Insights 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 nodos de trabajo, 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.

Tip

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. Considere la posibilidad de habilitar el registro hasta que recopile suficientes datos para comprender cómo se comporta el controlador de escalado y, a continuación, deshabilitarlo.

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.

Key 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).

Key Valor de ejemplo
SCM_LOGSTREAM_TIMEOUT 1800

El valor de ejemplo 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.

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

Esta configuración es necesaria para ambas aplicaciones del plan de Consumo y del plan Elastic Premium. No lo es para las de planes Dedicado, que Functions no escala dinámicamente.

El plan de consumo flexible es ahora el plan de hospedaje sin servidor recomendado para Azure Functions. Ofrece un escalado más rápido, reducción de los arranques en frío, redes privadas y más control sobre el rendimiento y el costo. Para obtener más información, consulte Plan de consumo flexible.

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

Important

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 para escalar entre stamps 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.

Key Valor de ejemplo
WEBSITE_CONTENTOVERVNET 1

Esta configuración de aplicación es necesaria para el escalado entre stamps en los planes Elastic Premium y Dedicado (App Service) (Estándar y superior) cuando la cuenta de almacenamiento está restringida por la VNet. Sin esta configuración, la aplicación de funciones solo puede escalar dentro de un solo stamp (aproximadamente de 1 a 20 instancias). No se admite cuando se ejecuta en un plan de consumo.

Note

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.

Key Valor de ejemplo
WEBSITE_CONTENTSHARE functionapp091999e2

Esta configuración solo es necesaria para las aplicaciones de plan De consumo y Premium. No lo es para las de planes Dedicado, que no se escalan dinámicamente mediante Functions.

El plan de consumo flexible es ahora el plan de hospedaje sin servidor recomendado para Azure Functions. Ofrece un escalado más rápido, reducción de los arranques en frío, redes privadas y más control sobre el rendimiento y el costo. Para obtener más información, consulte Plan de consumo flexible.

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. Se recomienda no establecer WEBSITE_CONTENTSHARE para la 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. Para 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.

Key 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).

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

Important

Esta opción está en versión preliminar. Ahora existe una propiedad de aplicación para el escalado horizontal máximo de función. Se recomienda esta propiedad para limitar el escalado horizontal.

Key Valor de ejemplo
WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT 5

WEBSITE_NODE_DEFAULT_VERSION

Solo para 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 versión más reciente 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.

Key Valor de ejemplo
WEBSITE_NODE_DEFAULT_VERSION ~18

WEBSITE_OVERRIDE_STICKY_DIAGNOSTICS_SETTINGS

Cuando se realiza un intercambio de ranuras en una aplicación de funciones que se ejecuta en un plan Premium, el intercambio puede producir un error cuando la cuenta de almacenamiento dedicada usada por la aplicación está restringida a la red. Este error se debe a una característica de registro de aplicaciones heredada, que tanto Functions como App Service comparten. Esta configuración invalida esa característica de registro heredada y permite que se produzca el intercambio.

Key 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. Este enfoque evita el comportamiento imprevisto debido a los cambios de 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.

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

Key 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. Para más información, vea Run your functions from a package file (Ejecución de Azure Functions desde un archivo de paquete).

Cuando se usa WEBSITE_RUN_FROM_PACKAGE=<URL>, la dirección URL debe resolverse en la ubicación del archivo de paquete en una ubicación de almacenamiento accesible, como un contenedor de Azure Blob Storage. El contenedor debe ser privado para evitar el acceso no autorizado, lo que requiere que use una firma de acceso compartido (SAS) en la dirección URL o la autenticación de Microsoft Entra ID para permitir el acceso. Se recomienda usar Microsoft Entra ID con identidades administradas.

Este es un ejemplo de configuración de WEBSITE_RUN_FROM_PACKAGE en la dirección URL de un paquete de implementación en un contenedor de Azure Blog Storage:
WEBSITE_RUN_FROM_PACKAGE=https://contosostorageaccount.blob.core.windows.net/mycontainer/mypackage.zip

Al usar SAS, se anexa el token a la dirección URL como parámetro de consulta.

Al implementar un paquete desde Azure Blob Storage mediante una identidad administrada asignada por el usuario, también debe establecer WEBSITE_RUN_FROM_PACKAGE_BLOB_MI_RESOURCE_ID en el identificador de recurso de la identidad administrada asignada por el usuario. 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_RUN_FROM_PACKAGE_BLOB_MI_RESOURCE_ID

Indica el Id. de recurso de una identidad administrada asignada por el usuario que se usa al acceder a un paquete de implementación desde un contenedor externo de Azure Blob Storage protegido mediante Microsoft Entra ID. Esta configuración requiere que WEBSITE_RUN_FROM_PACKAGE se establezca en la dirección URL del paquete de implementación en un contenedor privado.

Establecer WEBSITE_RUN_FROM_PACKAGE_BLOB_MI_RESOURCE_ID=SystemAssigned es lo mismo que omitir la configuración, en cuyo caso se usa la identidad administrada asignada por el sistema para la aplicación.

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 validación. De lo contrario, el valor se establece en 0 por defecto y se lleva a cabo la validación.

Key Valor de ejemplo
WEBSITE_SKIP_CONTENTSHARE_VALIDATION 1

Si se omite la validación y la cadena de conexión o el recurso compartido de contenido no son válidos, la aplicación no puede 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

Read-only. Nombre de la ranura de implementación actual. El nombre de la ranura de producción es Production.

Key Valor de ejemplo
WEBSITE_SLOT_NAME Production

WEBSITE_TIME_ZONE

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

Key OS 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
Dedicated
Establezca el valor en el nombre de la zona horaria deseada, como se muestra en la base de datos tz.

Note

WEBSITE_TIME_ZONE y TZ no se admiten actualmente cuando se ejecuta en Linux en un plan de Consumo o Consumo flexible. En este caso, la configuración 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 * * *"

Cuando se usa WEBSITE_TIME_ZONE, la hora se ajusta para los cambios de hora en la zona horaria específica, incluido 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.

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

Key Valor de ejemplo
WEBSITE_USE_PLACEHOLDER_DOTNETISOLATED 1

WEBSITE_VNET_ROUTE_ALL

Important

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. Necesita esta configuración al configurar la integración de red virtual regional en los planes de hospedaje Elastic Premium y Dedicado. 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.

Key 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 establecer este valor 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 Azure Portal, mediante las API 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 use la identidad administrada. Se recomienda este enfoque 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 valores son válidos:

Value Description
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 Linux en un plan de consumo. 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.

El plan de consumo flexible es ahora el plan de hospedaje sin servidor recomendado para Azure Functions. Ofrece un escalado más rápido, reducción de los arranques en frío, redes privadas y más control sobre el rendimiento y el costo. Para obtener más información, consulte Plan de consumo flexible.

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"

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

Important

Al crear sus propios contenedores, 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 lenguaje. Consulte 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 periódicas 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 a partir de la imagen base más reciente y volver a realizar la implementación a partir de la versión actualizada del contenedor. Para obtener más información, consulte Mantenimiento de 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.

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. La habilitación de esta propiedad del sitio es necesaria para el escalado entre stamps cuando se restringe la cuenta de almacenamiento a una red virtual en los planes de hospedaje Elastic Premium y Dedicado. Sin esta configuración, la aplicación de funciones solo puede escalar dentro de un solo stamp (aproximadamente de 1 a 20 instancias).

Note

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 más información, consulte Desuso de planes de Consumo flexible.

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:

Setting/property Reason
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_MAX_DYNAMIC_APPLICATION_SCALE_OUT Reemplazado por maximumInstanceCount en properties.functionAppConfig.scaleAndConcurrency
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 La compartición de contenido no se utiliza en el Consumo Flex
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