Referencia de host.json para Azure Functions 2.xhost.json reference for Azure Functions 2.x

El archivo de metadatos host.json contiene las opciones de configuración global que afectan a todas las funciones de dicha aplicación de función.The host.json metadata file contains global configuration options that affect all functions for a function app. En este artículo se incluye una lista de las opciones de configuración disponibles para el entorno en tiempo de ejecución de la versión 2.This article lists the settings that are available for the v2 runtime.

Nota

Este artículo trata sobre Azure Functions 2.x. Para obtener una referencia de host.json en Functions 1.x, consulte la referencia de host.json para Azure Functions, versión 1.x.

Otras opciones de configuración de aplicación de función se administran en su configuración de la aplicación.Other function app configuration options are managed in your app settings.

Algunas opciones de configuración de host.json solo se usan con la ejecución local en el archivo local.settings.json.Some host.json settings are only used when running locally in the local.settings.json file.

Archivo host.json de ejemploSample host.json file

El siguiente archivo host.json de ejemplo tiene especificadas todas las opciones posibles.The following sample host.json files have all possible options specified.

{
    "version": "2.0",
    "aggregator": {
        "batchSize": 1000,
        "flushTimeout": "00:00:30"
    },
    "extensions": {
        "cosmosDb": {},
        "durableTask": {},
        "eventHubs": {},
        "http": {},
        "queues": {},
        "sendGrid": {},
        "serviceBus": {}
    },
    "functions": [ "QueueProcessor", "GitHubWebHook" ],
    "functionTimeout": "00:05:00",
    "healthMonitor": {
        "enabled": true,
        "healthCheckInterval": "00:00:10",
        "healthCheckWindow": "00:02:00",
        "healthCheckThreshold": 6,
        "counterThreshold": 0.80
    },
    "logging": {
        "fileLoggingMode": "debugOnly",
        "logLevel": {
          "Function.MyFunction": "Information",
          "default": "None"
        },
        "applicationInsights": {
            "samplingSettings": {
              "isEnabled": true,
              "maxTelemetryItemsPerSecond" : 5
            }
        }
    },
    "singleton": {
      "lockPeriod": "00:00:15",
      "listenerLockPeriod": "00:01:00",
      "listenerLockRecoveryPollingInterval": "00:01:00",
      "lockAcquisitionTimeout": "00:01:00",
      "lockAcquisitionPollingInterval": "00:00:03"
    },
    "watchDirectories": [ "Shared", "Test" ],
    "managedDependency": {
        "enabled": true
    }
}

Las siguientes secciones de este artículo explican cada propiedad de nivel superior.The following sections of this article explain each top-level property. Todas son opcionales, a menos que se indique lo contrario.All are optional unless otherwise indicated.

aggregatoraggregator

Especifica cuántas llamadas a funciones se agregan cuando se calculan las métricas para Application Insights.Specifies how many function invocations are aggregated when calculating metrics for Application Insights.

{
    "aggregator": {
        "batchSize": 1000,
        "flushTimeout": "00:00:30"
    }
}
PropiedadProperty Valor predeterminadoDefault DESCRIPCIÓNDescription
batchSizebatchSize 10001000 Número máximo de solicitudes para agregar.Maximum number of requests to aggregate.
flushTimeoutflushTimeout 00:00:3000:00:30 Período máximo de tiempo para agregar.Maximum time period to aggregate.

Las llamadas a funciones se agregan cuando se alcanza el primero de los dos límites.Function invocations are aggregated when the first of the two limits are reached.

applicationInsightsapplicationInsights

Esta configuración es un elemento secundario de logging.This setting is a child of logging.

Controla la característica de muestreo de Application Insights.Controls the sampling feature in Application Insights.

{
    "applicationInsights": {
        "samplingSettings": {
          "isEnabled": true,
          "maxTelemetryItemsPerSecond" : 5
        }
    }
}

Nota

Los muestreos de registros pueden provocar que algunas ejecuciones no aparezcan en la hoja de supervisión de Application Insights.

PropiedadProperty Valor predeterminadoDefault DESCRIPCIÓNDescription
isEnabledisEnabled truetrue Habilita o deshabilita el muestreo.Enables or disables sampling.
maxTelemetryItemsPerSecondmaxTelemetryItemsPerSecond 55 Umbral donde comienza el muestreo.The threshold at which sampling begins.

cosmosDbcosmosDb

Las opciones de configuración se pueden encontrar en los desencadenadores y enlaces de Cosmos DB.Configuration setting can be found in Cosmos DB triggers and bindings.

durableTaskdurableTask

Las opciones de configuración se puede encontrar en los enlaces para Durable Functions.Configuration setting can be found in bindings for Durable Functions.

eventHubeventHub

Las opciones de configuración se pueden encontrar en desencadenadores y enlaces del centro de eventos.Configuration settings can be found in Event Hub triggers and bindings.

extensionsextensions

Propiedad que devuelve un objeto que contiene todas las configuraciones específicas de enlace, como http y eventHub.Property that returns an object that contains all of the binding-specific settings, such as http and eventHub.

funcionesfunctions

Lista de las funciones que el host de trabajo ejecuta.A list of functions that the job host runs. Una matriz vacía significa ejecutar todas las funciones.An empty array means run all functions. Su uso está previsto solo cuando se ejecuta localmente.Intended for use only when running locally. En cambio, en las aplicaciones de función de Azure, siga los pasos de Deshabilitamiento de funciones en Azure Functions para deshabilitar funciones específicas en lugar de usar esta configuración.In function apps in Azure, you should instead follow the steps in How to disable functions in Azure Functions to disable specific functions rather than using this setting.

{
    "functions": [ "QueueProcessor", "GitHubWebHook" ]
}

functionTimeoutfunctionTimeout

Indica la duración del tiempo de espera para todas las funciones.Indicates the timeout duration for all functions. En un plan de consumo sin servidor, el intervalo válido es de 1 segundo a 10 minutos, y el valor predeterminado es 5 minutos.In a serverless Consumption plan, the valid range is from 1 second to 10 minutes, and the default value is 5 minutes. En un plan de App Service, no hay límite total y el valor predeterminado depende de la versión del entorno de ejecución.In an App Service plan, there is no overall limit and the default depends on the runtime version. En la versión 2.x, el valor predeterminado en un plan de App Service es 30 minutos.In version 2.x, the default value for an App Service plan is 30 minutes. En la versión 1.x, es null, lo que indica que no hay tiempo de espera.In version 1.x, it's null, which indicates no timeout.

{
    "functionTimeout": "00:05:00"
}

healthMonitorhealthMonitor

Configuración del monitor de estado de host.Configuration settings for Host health monitor.

{
    "healthMonitor": {
        "enabled": true,
        "healthCheckInterval": "00:00:10",
        "healthCheckWindow": "00:02:00",
        "healthCheckThreshold": 6,
        "counterThreshold": 0.80
    }
}
PropiedadProperty Valor predeterminadoDefault DESCRIPCIÓNDescription
enabledenabled truetrue Especifica si está habilitada la característica.Specifies whether the feature is enabled.
healthCheckIntervalhealthCheckInterval 10 segundos10 seconds El intervalo de tiempo entre las comprobaciones periódicas de mantenimiento en segundo plano.The time interval between the periodic background health checks.
healthCheckWindowhealthCheckWindow 2 minutes2 minutes Una ventana de tiempo deslizante usada en combinación con el valor healthCheckThreshold.A sliding time window used in conjunction with the healthCheckThreshold setting.
healthCheckThresholdhealthCheckThreshold 66 Número máximo de veces que puede producirse un error en la comprobación de mantenimiento antes de que se inicie un reciclaje del host.Maximum number of times the health check can fail before a host recycle is initiated.
counterThresholdcounterThreshold 0.800.80 El umbral en el que un contador de rendimiento se considerará incorrecto.The threshold at which a performance counter will be considered unhealthy.

httphttp

Las opciones de configuración se pueden encontrar en los desencadenadores y enlaces http.Configuration settings can be found in http triggers and bindings.

{
    "http": {
        "routePrefix": "api",
        "maxOutstandingRequests": 200,
        "maxConcurrentRequests": 100,
        "dynamicThrottlesEnabled": true
    }
}
PropiedadProperty Valor predeterminadoDefault DESCRIPCIÓNDescription
routePrefixroutePrefix apiapi Prefijo de ruta que se aplica a todas las rutas.The route prefix that applies to all routes. Use una cadena vacía para quitar el prefijo predeterminado.Use an empty string to remove the default prefix.
maxOutstandingRequestsmaxOutstandingRequests 200*200* Número máximo de solicitudes pendientes que se mantienen en un momento dado.The maximum number of outstanding requests that are held at any given time. Este límite incluye las solicitudes que están en cola pero no han empezado a ejecutarse, así como todas las ejecuciones en curso.This limit includes requests that are queued but have not started executing, as well as any in progress executions. Se rechazan todas las solicitudes entrantes que superen este límite con una respuesta 429 "Too Busy" (demasiado ocupado).Any incoming requests over this limit are rejected with a 429 "Too Busy" response. Esto permite que los llamadores empleen estrategias de reintento basadas en tiempo y también le ayuda a controlar las latencias de solicitud máximas.That allows callers to employ time-based retry strategies, and also helps you to control maximum request latencies. Únicamente se controlan los movimientos de la cola que se producen dentro de la ruta de ejecución del host del script.This only controls queuing that occurs within the script host execution path. Otras colas, como la cola de solicitudes de ASP.NET, siguen en efecto y no se ven alteradas por esta opción de configuración.Other queues such as the ASP.NET request queue will still be in effect and unaffected by this setting. *El valor predeterminado para la versión 1.x es ilimitado (-1).*The default for version 1.x is unbounded (-1). El valor predeterminado para la versión 2.x en un plan de consumo es 200.The default for version 2.x in a consumption plan is 200. El valor predeterminado para la versión 2.x en un plan dedicado es ilimitado (-1).The default for version 2.x in a dedicated plan is unbounded (-1).
maxConcurrentRequestsmaxConcurrentRequests 100*100* Número máximo de funciones HTTP que se ejecutarán en paralelo.The maximum number of http functions that will be executed in parallel. Esto permite controlar la simultaneidad, que a su vez puede ayudar a administrar el uso de recursos.This allows you to control concurrency, which can help manage resource utilization. Por ejemplo, podría tener una función HTTP que utiliza una gran cantidad de recursos del sistema (memoria/cpu/sockets) y causa problemas cuando la simultaneidad es demasiado alta.For example, you might have an http function that uses a lot of system resources (memory/cpu/sockets) such that it causes issues when concurrency is too high. O bien podría tener una función que realiza solicitudes de salida a un servicio de terceros y puede que haya que limitar la velocidad de dichas llamadas.Or you might have a function that makes outbound requests to a third party service, and those calls need to be rate limited. En estos casos puede ayudar aplicar una limitación.In these cases, applying a throttle here can help. *El valor predeterminado para la versión 1.x es ilimitado (-1).*The default for version 1.x is unbounded (-1). El valor predeterminado para la versión 2.x en un plan de consumo es 100.The default for version 2.x in a consumption plan is 100. El valor predeterminado para la versión 2.x en un plan dedicado es ilimitado (-1).The default for version 2.x in a dedicated plan is unbounded (-1).
dynamicThrottlesEnableddynamicThrottlesEnabled true*true* Cuando se habilita, esta configuración hace que la canalización de procesamiento de la solicitud compruebe periódicamente contadores de rendimiento del sistema como conexiones, subprocesos, procesos, memoria o cpu y, si cualquiera de esos contadores superan un umbral alto integrado (80 %), las solicitudes se rechazarán con una respuesta 429 "Ocupado" hasta que los contadores vuelvan a niveles normales.When enabled, this setting causes the request processing pipeline to periodically check system performance counters like connections/threads/processes/memory/cpu/etc. and if any of those counters are over a built-in high threshold (80%), requests will be rejected with a 429 "Too Busy" response until the counter(s) return to normal levels. *El valor predeterminado para la versión 1.x es false.*The default for version 1.x is false. El valor predeterminado para la versión 2.x en un plan de consumo es true.The default for version 2.x in a consumption plan is true. El valor predeterminado para la versión 2.x en un plan dedicado es false.The default for version 2.x in a dedicated plan is false.

logginglogging

Controla los comportamientos de registro de la aplicación de función, Application Insights incluido.Controls the logging behaviors of the function app, including Application Insights.

"logging": {
    "fileLoggingMode": "debugOnly",
    "logLevel": {
      "Function.MyFunction": "Information",
      "default": "None"
    },
    "console": {
        ...
    },
    "applicationInsights": {
        ...
    }
}
PropiedadProperty Valor predeterminadoDefault DESCRIPCIÓNDescription
fileLoggingModefileLoggingMode debugOnlydebugOnly Define qué nivel de registro de archivos está habilitado.Defines what level of file logging is enabled. Las opciones son never, always, debugOnly.Options are never, always, debugOnly.
logLevellogLevel N/Dn/a Objeto que define el filtrado por categoría de registro para las funciones de la aplicación.Object that defines the log category filtering for functions in the app. En la versión 2.x se sigue el diseño de filtrado por categoría de registro de ASP.NET Core.Version 2.x follows the ASP.NET Core layout for log category filtering. Esto permite el filtrado del registro de funciones específicas.This lets you filter logging for specific functions. Para más información, consulte Filtrado del registro en la documentación de ASP.NET Core.For more information, see Log filtering in the ASP.NET Core documentation.
consolaconsole N/Dn/a Configuración del registro de consola.The console logging setting.
applicationInsightsapplicationInsights N/Dn/a Configuración de applicationInsights.The applicationInsights setting.

consolaconsole

Esta configuración es un elemento secundario de logging.This setting is a child of logging. Controla el registro de la consola cuando no está en modo de depuración.It controls the console logging when not in debugging mode.

{
    "logging": {
    ...
        "console": {
          "isEnabled": "false"
        },
    ...
    }
}
PropiedadProperty Valor predeterminadoDefault DESCRIPCIÓNDescription
isEnabledisEnabled falsefalse Habilita o deshabilita el registro de la consola.Enables or disables console logging.

queuesqueues

Las opciones de configuración se pueden encontrar en los desencadenadores y enlaces de la cola de Storage.Configuration settings can be found in Storage queue triggers and bindings.

sendGridsendGrid

Las opciones de configuración se pueden encontrar en los desencadenadores y enlaces de SendGrid.Configuration setting can be found in SendGrid triggers and bindings.

serviceBusserviceBus

Las opciones de configuración se pueden encontrar en los desencadenadores y enlaces de Service Bus.Configuration setting can be found in Service Bus triggers and bindings.

singletonsingleton

Opciones de configuración para el comportamiento de bloqueo Singleton.Configuration settings for Singleton lock behavior. Para más información, consulte problema de compatibilidad de GitHub con singleton.For more information, see GitHub issue about singleton support.

{
    "singleton": {
      "lockPeriod": "00:00:15",
      "listenerLockPeriod": "00:01:00",
      "listenerLockRecoveryPollingInterval": "00:01:00",
      "lockAcquisitionTimeout": "00:01:00",
      "lockAcquisitionPollingInterval": "00:00:03"
    }
}
PropiedadProperty Valor predeterminadoDefault DESCRIPCIÓNDescription
lockPeriodlockPeriod 00:00:1500:00:15 Período durante el cual se producen los bloqueos de nivel de función.The period that function level locks are taken for. Los bloqueos se renuevan automáticamente.The locks auto-renew.
listenerLockPeriodlistenerLockPeriod 00:01:0000:01:00 Período durante el cual se producen los bloqueos de agente de escucha.The period that listener locks are taken for.
listenerLockRecoveryPollingIntervallistenerLockRecoveryPollingInterval 00:01:0000:01:00 Intervalo de tiempo que se utiliza para la recuperación de bloqueos del agente de escucha si no se pudo adquirir un bloqueo de agente de escucha durante el inicio.The time interval used for listener lock recovery if a listener lock couldn't be acquired on startup.
lockAcquisitionTimeoutlockAcquisitionTimeout 00:01:0000:01:00 Cantidad máxima de tiempo que el entorno en tiempo de ejecución intentará adquirir un bloqueo.The maximum amount of time the runtime will try to acquire a lock.
lockAcquisitionPollingIntervallockAcquisitionPollingInterval N/Dn/a Intervalo entre intentos de adquisición de bloqueo.The interval between lock acquisition attempts.

versionversion

La cadena de versión "version": "2.0" es necesaria para una aplicación de función que tenga como destino la versión v2 del entorno de ejecución.The version string "version": "2.0" is required for a function app that targets the v2 runtime.

watchDirectorieswatchDirectories

Conjunto de directorios de código compartido en los que se deben supervisar los cambios.A set of shared code directories that should be monitored for changes. Garantiza que cuando se cambie el código en estos directorios, las funciones recibirán los cambios.Ensures that when code in these directories is changed, the changes are picked up by your functions.

{
    "watchDirectories": [ "Shared" ]
}

managedDependencymanagedDependency

Dependencia administrada es una característica de vista previa que actualmente solo se admite con basados en funciones de PowerShell.Managed dependency is a preview feature that is currently only supported with PowerShell based functions. Permite que las dependencias que administrará automáticamente el servicio.It enables dependencies to be automatically managed by the service. Cuando se establece la propiedad enabled en true, el requirements.psd1 se procesará el archivo.When the enabled property is set to true, the requirements.psd1 file will be processed. Las dependencias se actualizará cuando se publican las versiones secundarias.Dependencies will be updated when any minor versions are released.

{
    "managedDependency": {
        "enabled": true
    }
}

Pasos siguientesNext steps