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ónAzureFunctionsWebHost__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
.
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 establecerWEBSITE_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_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 |
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