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.This article is for 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.For a reference of host.json in Functions 1.x, see host.json reference for Azure Functions 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": {}
    },
    "extensionBundle": {
        "id": "Microsoft.Azure.Functions.ExtensionBundle",
        "version": "[1.*, 2.0.0)"
    },
    "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" : 20
            }
        }
    },
    "managedDependency": {
        "enabled": true
    },
    "singleton": {
      "lockPeriod": "00:00:15",
      "listenerLockPeriod": "00:01:00",
      "listenerLockRecoveryPollingInterval": "00:01:00",
      "lockAcquisitionTimeout": "00:01:00",
      "lockAcquisitionPollingInterval": "00:00:03"
    },
    "watchDirectories": [ "Shared", "Test" ]
}

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" : 20
        }
    }
}

Nota

Los muestreos de registros pueden provocar que algunas ejecuciones no aparezcan en la hoja de supervisión de Application Insights.Log sampling may cause some executions to not show up in the Application Insights monitor blade.

PropiedadProperty Valor predeterminadoDefault DESCRIPCIÓNDescription
isEnabledisEnabled truetrue Habilita o deshabilita el muestreo.Enables or disables sampling.
maxTelemetryItemsPerSecondmaxTelemetryItemsPerSecond 2020 Umbral donde comienza el muestreo.The threshold at which sampling begins.
EnableLiveMetricsEnableLiveMetrics truetrue Habilita la colección de Live Metrics.Enables live metrics collection.
EnableDependencyTrackingEnableDependencyTracking truetrue Habilita el seguimiento de dependencias.Enables dependency tracking.
EnablePerformanceCountersCollectionEnablePerformanceCountersCollection truetrue Habilita la colección de contadores de rendimiento Kudu.Enables Kudu performance counters collection.

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.

extensionBundleextensionBundle

Las agrupaciones de extensiones permiten agregar un conjunto compatible de extensiones de enlace de Functions a la aplicación de función.Extension bundles lets you add a compatible set of Functions binding extensions to your function app. Para obtener más información, consulte Agrupaciones de extensiones para el desarrollo local.To learn more, see Extension bundles for local development.

{
    "version": "2.0",
    "extensionBundle": {
        "id": "Microsoft.Azure.Functions.ExtensionBundle",
        "version": "[1.*, 2.0.0)"
    }
}

Las siguientes propiedades están disponibles en extensionBundle:The following properties are available in extensionBundle:

PropiedadProperty DESCRIPCIÓNDescription
idid Espacio de nombres de las agrupaciones de extensiones de Microsoft Azure Functions.The namespace for Microsoft Azure Functions extension bundles.
versionversion Versión de la agrupación que va a instalar.The version of the bundle to install. Functions Runtime siempre elige la máxima versión permitida definida por el rango o intervalo de versiones.The Functions runtime always picks the maximum permissible version defined by the version range or interval. El valor de versión anterior permite todas las versiones de agrupaciones desde la 1.0.0 en adelante pero sin incluir la 2.0.0.The version value above allows all bundle versions from 1.0.0 up to but not including 2.0.0. Para más información, consulte la notación de intervalo para especificar intervalos de versiones.For more information, see the interval notation for specifying version ranges.

Las versiones de las agrupaciones aumentan a medida que cambian los paquetes de la agrupación.Bundle versions increment as packages in the bundle change. Los cambios de versión principal se producen cuando los paquetes de la agrupación se incrementan en una versión principal.Major version changes occur when packages in the bundle increment by a major version. Los cambios de versión principales en la agrupación normalmente coinciden con el cambio en la versión principal del runtime de Functions.Major version changes in the bundle usually coincide with a change in the major version of the Functions runtime.

El conjunto actual de extensiones que instala la agrupación predeterminada se enumera en este archivo extensions.json.The current set of extensions installed by the default bundle is enumerated in this extensions.json file.

functionsfunctions

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. Sigue el formato de cadena TimeSpan.It follows the timespan string format. 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 el plan Premium, el intervalo válido es de entre 1 segundo y 60 minutos, y el valor predeterminado es 30 minutos.In the Premium plan the valid range is from 1 second to 60 minutes, and the default value is 30 minutes.

En un plan de App Service dedicado, no hay ningún límite general y el valor predeterminado es 30 minutos.In a Dedicated (App Service) plan, there is no overall limit, and the default value is 30 minutes. Un valor de -1 indica una ejecución no vinculada, pero se recomienda mantener un límite superior fijo.A value of -1 indicates unbounded execution, but keeping a fixed upper bound is recommended.

{
    "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.

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.
consoleconsole N/Dn/a Configuración del registro de consola.The console logging setting.
applicationInsightsapplicationInsights N/Dn/a Configuración de applicationInsights.The applicationInsights setting.

consoleconsole

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.

managedDependencymanagedDependency

La dependencia administrada es una característica en versión preliminar que actualmente solo se admite con funciones basadas en PowerShell.Managed dependency is a feature that is currently only supported with PowerShell based functions. Permite que el servicio administre de forma automática las dependencias.It enables dependencies to be automatically managed by the service. Cuando la propiedad enabled está establecida en true, se procesa el archivo requirements.psd1.When the enabled property is set to true, the requirements.psd1 file is processed. Las dependencias se actualizarán cuando se publique alguna versión secundaria.Dependencies are updated when any minor versions are released. Para obtener más información, lea Dependencia administrada en el artículo de PowerShell.For more information, see Managed dependency in the PowerShell article.

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

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" ]
}

Pasos siguientesNext steps