Referencia de host.json para Azure Functions 2.x y versiones posterioreshost.json reference for Azure Functions 2.x and later

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 enumeran los valores que están disponibles a partir de la versión 2.x del entorno en tiempo de ejecución de Azure Functions.This article lists the settings that are available starting with version 2.x of the Azure Functions runtime.

Nota

Este artículo trata sobre Azure Functions 2.x y versiones posteriores.This article is for Azure Functions 2.x and later versions. 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 la aplicación de funciones se administran en la configuración de la aplicación (para aplicaciones implementadas) o en el archivo local.settings.json (para desarrollo local).Other function app configuration options are managed in your app settings (for deployed apps) or your local.settings.json file (for local development).

Las configuraciones de host.json relacionadas con los enlaces se aplican por igual a cada función de la aplicación de funciones.Configurations in host.json related to bindings are applied equally to each function in the function app.

También puede invalidar o aplicar la configuración por entorno mediante la configuración de la aplicación.You can also override or apply settings per environment using application settings.

Archivo host.json de ejemploSample host.json file

El siguiente archivo host.json de ejemplo para la versión 2.x y posteriores tiene especificadas todas las opciones posibles (salvo aquellas que son solo para uso interno).The following sample host.json file for version 2.x+ has all possible options specified (excluding any that are for internal use only).

{
    "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,
              "evaluationInterval": "01:00:00",
              "initialSamplingPercentage": 100.0, 
              "samplingPercentageIncreaseTimeout" : "00:00:01",
              "samplingPercentageDecreaseTimeout" : "00:00:01",
              "minSamplingPercentage": 0.1,
              "maxSamplingPercentage": 100.0,
              "movingAverageRatio": 1.0,
              "excludedTypes" : "Dependency;Event",
              "includedTypes" : "PageView;Trace"
            },
            "enableLiveMetrics": true,
            "enableDependencyTracking": true,
            "enablePerformanceCountersCollection": true,            
            "httpAutoCollectionOptions": {
                "enableHttpTriggerExtendedInfoCollection": true,
                "enableW3CDistributedTracing": true,
                "enableResponseHeaderInjection": true
            },
            "snapshotConfiguration": {
                "agentEndpoint": null,
                "captureSnapshotMemoryWeight": 0.5,
                "failedRequestLimit": 3,
                "handleUntrackedExceptions": true,
                "isEnabled": true,
                "isEnabledInDeveloperMode": false,
                "isEnabledWhenProfiling": true,
                "isExceptionSnappointsEnabled": false,
                "isLowPrioritySnapshotUploader": true,
                "maximumCollectionPlanSize": 50,
                "maximumSnapshotsRequired": 3,
                "problemCounterResetInterval": "24:00:00",
                "provideAnonymousTelemetry": true,
                "reconnectInterval": "00:15:00",
                "shadowCopyFolder": null,
                "shareUploaderProcess": true,
                "snapshotInLowPriorityThread": true,
                "snapshotsPerDayLimit": 30,
                "snapshotsPerTenMinutesLimit": 1,
                "tempFolder": null,
                "thresholdForSnapshotting": 1,
                "uploaderProxy": null
            }
        }
    },
    "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 las opciones de Application Insights, incluidas las opciones de muestreo.Controls options for Application Insights, including sampling options.

Para obtener la estructura JSON completa, consulte el archivo host.json de ejemplo anterior.For the complete JSON structure, see the earlier example host.json file.

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. Para evitar el muestreo de registros, agregue excludedTypes: "Request" al valor samplingSettings.To avoid log sampling, add excludedTypes: "Request" to the samplingSettings value.

PropiedadProperty Valor predeterminadoDefault DescripciónDescription
samplingSettingssamplingSettings N/Dn/a Consulte applicationInsights.samplingSettings.See applicationInsights.samplingSettings.
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.
liveMetricsInitializationDelayliveMetricsInitializationDelay 00:00:1500:00:15 Solo para uso interno.For internal use only.
httpAutoCollectionOptionshttpAutoCollectionOptions N/Dn/a Consulte applicationInsights.httpAutoCollectionOptions.See applicationInsights.httpAutoCollectionOptions.
snapshotConfigurationsnapshotConfiguration N/Dn/a Consulte applicationInsights.snapshotConfiguration.See applicationInsights.snapshotConfiguration.

applicationInsights.samplingSettingsapplicationInsights.samplingSettings

PropiedadProperty Valor predeterminadoDefault DescripciónDescription
isEnabledisEnabled truetrue Habilita o deshabilita el muestreo.Enables or disables sampling.
maxTelemetryItemsPerSecondmaxTelemetryItemsPerSecond 2020 Número de destino de los elementos de telemetría registrados por segundo en cada host de servidor.The target number of telemetry items logged per second on each server host. Si la aplicación se ejecuta en muchos hosts, reduzca este valor para que permanezca dentro de la tasa general de tráfico de destino.If your app runs on many hosts, reduce this value to remain within your overall target rate of traffic.
evaluationIntervalevaluationInterval 01:00:0001:00:00 Intervalo en el que se vuelve a evaluar la velocidad actual de telemetría.The interval at which the current rate of telemetry is reevaluated. La evaluación se realiza como una media móvil.Evaluation is performed as a moving average. Se recomienda acortar este intervalo si la telemetría experimenta ráfagas repentinas.You might want to shorten this interval if your telemetry is liable to sudden bursts.
initialSamplingPercentageinitialSamplingPercentage 1.01.0 Porcentaje de muestreo inicial aplicado al inicio del proceso de muestreo para modificar dinámicamente el porcentaje.The initial sampling percentage applied at the start of the sampling process to dynamically vary the percentage. No lo reduzca durante la depuración.Don't reduce value while you're debugging.
samplingPercentageIncreaseTimeoutsamplingPercentageIncreaseTimeout 00:00:0100:00:01 Cuando cambia el valor de porcentaje de muestreo, esta propiedad determina la próxima vez que se permite que Application Insights vuelva a aumentar el porcentaje de muestreo para capturar más datos.When the sampling percentage value changes, this property determines how soon afterwards Application Insights is allowed to raise sampling percentage again to capture more data.
samplingPercentageDecreaseTimeoutsamplingPercentageDecreaseTimeout 00:00:0100:00:01 Cuando cambia el valor de porcentaje de muestreo, esta propiedad determina la próxima vez que se permite que Application Insights vuelva a reducir el porcentaje de muestreo para capturar menos datos.When the sampling percentage value changes, this property determines how soon afterwards Application Insights is allowed to lower sampling percentage again to capture less data.
minSamplingPercentageminSamplingPercentage 0,10.1 A medida que el porcentaje de muestreo va variando, esta propiedad determina el porcentaje de muestreo mínimo permitido.As sampling percentage varies, this property determines the minimum allowed sampling percentage.
maxSamplingPercentagemaxSamplingPercentage 0,10.1 A medida que el porcentaje de muestreo va variando, esta propiedad determina el porcentaje de muestreo máximo permitido.As sampling percentage varies, this property determines the maximum allowed sampling percentage.
movingAverageRatiomovingAverageRatio 1.01.0 En el cálculo de la media móvil, peso asignado al valor más reciente.In the calculation of the moving average, the weight assigned to the most recent value. Use un valor igual o menor que 1.Use a value equal to or less than 1. Los valores menores hacen que el algoritmo reaccione con menor agilidad a los cambios repentinos.Smaller values make the algorithm less reactive to sudden changes.
excludedTypesexcludedTypes nullnull Una lista delimitada por puntos y coma de tipos que no desea que se muestreen.A semi-colon delimited list of types that you don't want to be sampled. Los tipos reconocidos son: Dependency, Event, Exception, PageView, Request y Trace.Recognized types are: Dependency, Event, Exception, PageView, Request, and Trace. Todas las instancias de los tipos especificados se transmiten; los tipos no especificados se muestrean.All instances of the specified types are transmitted; the types that aren't specified are sampled.
includedTypesincludedTypes nullnull Una lista delimitada por puntos y coma de tipos que desea que se muestreen (con listas vacías se muestrean todos los tipos).A semi-colon delimited list of types that you want to be sampled; an empty list implies all types. El tipo que figura en excludedTypes invalida los tipos que se enumeran aquí.Type listed in excludedTypes override types listed here. Los tipos reconocidos son: Dependency, Event, Exception, PageView, Request y Trace.Recognized types are: Dependency, Event, Exception, PageView, Request, and Trace. Las instancias de los tipos especificados se muestrean; los tipos no especificados ni implícitos se transmiten sin muestrear.Instances of the specified types are sampled; the types that aren't specified or implied are transmitted without sampling.

applicationInsights.httpAutoCollectionOptionsapplicationInsights.httpAutoCollectionOptions

PropiedadProperty Valor predeterminadoDefault DescripciónDescription
enableHttpTriggerExtendedInfoCollectionenableHttpTriggerExtendedInfoCollection truetrue Habilita o deshabilita la información de la solicitud HTTP extendida para los desencadenadores HTTP: encabezados de correlación de solicitud entrantes, compatibilidad con varias claves de instrumentación, método HTTP, ruta de acceso y respuesta.Enables or disables extended HTTP request information for HTTP triggers: incoming request correlation headers, multi-instrumentation keys support, HTTP method, path, and response.
enableW3CDistributedTracingenableW3CDistributedTracing truetrue Habilita o deshabilita la compatibilidad del protocolo de seguimiento distribuido de W3C (y activa el esquema de correlación heredado).Enables or disables support of W3C distributed tracing protocol (and turns on legacy correlation schema). Está habilitado de forma predeterminada si el valor de enableHttpTriggerExtendedInfoCollection es true.Enabled by default if enableHttpTriggerExtendedInfoCollection is true. Si enableHttpTriggerExtendedInfoCollection es false, esta marca se aplica solo a las solicitudes salientes, no a las entrantes.If enableHttpTriggerExtendedInfoCollection is false, this flag applies to outgoing requests only, not incoming requests.
enableResponseHeaderInjectionenableResponseHeaderInjection truetrue Habilita o deshabilita la inserción de encabezados de correlación de varios componentes en respuestas.Enables or disables injection of multi-component correlation headers into responses. La habilitación de la inyección permite a Application Insights construir un mapa de aplicación cuando se usan varias claves de instrumentación.Enabling injection allows Application Insights to construct an Application Map to when several instrumentation keys are used. Está habilitado de forma predeterminada si el valor de enableHttpTriggerExtendedInfoCollection es true.Enabled by default if enableHttpTriggerExtendedInfoCollection is true. Esta configuración no se aplica si el valor de enableHttpTriggerExtendedInfoCollection es false.This setting doesn't apply if enableHttpTriggerExtendedInfoCollection is false.

applicationInsights.snapshotConfigurationapplicationInsights.snapshotConfiguration

Para obtener más información sobre las instantáneas, vea los artículos sobre cómo depurar instantáneas cuando se producen excepciones en aplicaciones de .NET y solucionar problemas de habilitación del servicio Snapshot Debugger de Application Insights o ver instantáneas.For more information on snapshots, see Debug snapshots on exceptions in .NET apps and Troubleshoot problems enabling Application Insights Snapshot Debugger or viewing snapshots.

PropiedadProperty Valor predeterminadoDefault DescripciónDescription
agentEndpointagentEndpoint nullnull Punto de conexión utilizado para conectarse al servicio Snapshot Debugger de Application Insights.The endpoint used to connect to the Application Insights Snapshot Debugger service. Si el valor es NULL, se utiliza un punto de conexión predeterminado.If null, a default endpoint is used.
captureSnapshotMemoryWeightcaptureSnapshotMemoryWeight 0.50.5 El peso dado al tamaño de memoria de proceso actual al comprobar si hay suficiente memoria para realizar una instantánea.The weight given to the current process memory size when checking if there's enough memory to take a snapshot. El valor esperado es mayor que una fracción propia 0 (0 < CaptureSnapshotMemoryWeight < 1).The expected value is a greater than 0 proper fraction (0 < CaptureSnapshotMemoryWeight < 1).
failedRequestLimitfailedRequestLimit 33 Límite en el número de solicitudes con error para solicitar instantáneas antes de que se deshabilite el procesador de telemetría.The limit on the number of failed requests to request snapshots before the telemetry processor is disabled.
handleUntrackedExceptionshandleUntrackedExceptions truetrue Habilita o deshabilita el seguimiento de las excepciones de las que la telemetría de Application Insights no realiza un seguimiento.Enables or disables tracking of exceptions that aren't tracked by Application Insights telemetry.
isEnabledisEnabled truetrue Habilita o deshabilita la recopilación de instantáneas.Enables or disables snapshot collection
isEnabledInDeveloperModeisEnabledInDeveloperMode falsefalse Habilita o deshabilita la recopilación de instantáneas en el modo de desarrollador.Enables or disables snapshot collection is enabled in developer mode.
isEnabledWhenProfilingisEnabledWhenProfiling truetrue Habilita o deshabilita la creación de instantáneas incluso si Application Insights Profiler está recopilando una sesión de generación de perfiles detallada.Enables or disables snapshot creation even if the Application Insights Profiler is collecting a detailed profiling session.
isExceptionSnappointsEnabledisExceptionSnappointsEnabled falsefalse Habilita o deshabilita el filtrado de excepciones.Enables or disables filtering of exceptions.
isLowPrioritySnapshotUploaderisLowPrioritySnapshotUploader truetrue Determina si se debe ejecutar el proceso SnapshotUploader por debajo de la prioridad normal.Determines whether to run the SnapshotUploader process at below normal priority.
maximumCollectionPlanSizemaximumCollectionPlanSize 5050 El número máximo de problemas de los que podemos realizar un seguimiento en cualquier momento en un intervalo de 1 a 9999.The maximum number of problems that we can track at any time in a range from one to 9999.
maximumSnapshotsRequiredmaximumSnapshotsRequired 33 Número máximo de instantáneas recopiladas para un único problema, en un intervalo de 1 a 999.The maximum number of snapshots collected for a single problem, in a range from one to 999. Un problema se puede considerar como una instrucción throw individual en la aplicación.A problem may be thought of as an individual throw statement in your application. Una vez que el número de instantáneas recopiladas para un problema alcanza este valor, no se recopilarán más instantáneas para ese problema hasta que se restablezcan los contadores de problemas (vea problemCounterResetInterval) y se vuelva a alcanzar el límite de thresholdForSnapshotting.Once the number of snapshots collected for a problem reaches this value, no more snapshots will be collected for that problem until problem counters are reset (see problemCounterResetInterval) and the thresholdForSnapshotting limit is reached again.
problemCounterResetIntervalproblemCounterResetInterval 24:00:0024:00:00 Frecuencia con la que se restablecen los contadores de problemas en un intervalo de 1 minuto a 7 días.How often to reset the problem counters in a range from one minute to seven days. Cuando se alcanza este intervalo, todos los recuentos de problemas se restablecen a cero.When this interval is reached, all problem counts are reset to zero. Problemas que ya han alcanzado el umbral para realizar instantáneas, pero que aún no han generado el número de instantáneas en maximumSnapshotsRequired; permanecen activas.Existing problems that have already reached the threshold for doing snapshots, but haven't yet generated the number of snapshots in maximumSnapshotsRequired, remain active.
provideAnonymousTelemetryprovideAnonymousTelemetry truetrue Determina si se va a enviar la telemetría de uso y de errores anónimos a Microsoft.Determines whether to send anonymous usage and error telemetry to Microsoft. Esta telemetría se puede usar si se pone en contacto con Microsoft para ayudar a solucionar problemas con Snapshot Debugger.This telemetry may be used if you contact Microsoft to help troubleshoot problems with the Snapshot Debugger. También se usa para supervisar los patrones de uso.It is also used to monitor usage patterns.
reconnectIntervalreconnectInterval 00:15:0000:15:00 La frecuencia con la que se vuelve a conectar al punto de conexión de Snapshot Debugger.How often we reconnect to the Snapshot Debugger endpoint. El intervalo permitido es de 1 minuto a 1 día.Allowable range is one minute to one day.
shadowCopyFoldershadowCopyFolder nullnull Especifica la carpeta que se va a usar para los archivos binarios de copias sombra.Specifies the folder to use for shadow copying binaries. Si no se establece, se prueban las carpetas especificadas por las siguientes variables de entorno en orden: Fabric_Folder_App_Temp, LOCALAPPDATA, APPDATA, TEMP.If not set, the folders specified by the following environment variables are tried in order: Fabric_Folder_App_Temp, LOCALAPPDATA, APPDATA, TEMP.
shareUploaderProcessshareUploaderProcess truetrue Si es true, solo una instancia de SnapshotUploader recopilará y cargará las instantáneas de varias aplicaciones que compartan InstrumentationKey.If true, only one instance of SnapshotUploader will collect and upload snapshots for multiple apps that share the InstrumentationKey. Si se establece en false, el valor de SnapshotUploader será único para cada tupla (processName, InstrumentationKey).If set to false, the SnapshotUploader will be unique for each (ProcessName, InstrumentationKey) tuple.
snapshotInLowPriorityThreadsnapshotInLowPriorityThread truetrue Determina si se procesan o no las instantáneas en un subproceso de prioridad de E/S inferior.Determines whether or not to process snapshots in a low IO priority thread. La creación de una instantánea es una operación rápida, pero para cargar una instantánea en el servicio Snapshot Debugger, primero debe escribirse en el disco como un minivolcado.Creating a snapshot is a fast operation but, in order to upload a snapshot to the Snapshot Debugger service, it must first be written to disk as a minidump. Eso sucede en el proceso SnapshotUploader.That happens in the SnapshotUploader process. Al establecer este valor en true, se usa la E/S de baja prioridad para escribir el minivolcado, que no compite por recursos con la aplicación.Setting this value to true uses low-priority IO to write the minidump, which won't compete with your application for resources. Si se establece este valor en false, se acelera la creación del minivolcado a costa de ralentizar la aplicación.Setting this value to false speeds up minidump creation at the expense of slowing down your application.
snapshotsPerDayLimitsnapshotsPerDayLimit 3030 Número máximo de instantáneas permitidas en 1 día (24 horas).The maximum number of snapshots allowed in one day (24 hours). Este límite también se aplica en el lado del servicio de Application Insights.This limit is also enforced on the Application Insights service side. Las cargas se limitan a 50 por día y por aplicación (es decir, por clave de instrumentación).Uploads are rate limited to 50 per day per application (that is, per instrumentation key). Este valor ayuda a evitar la creación de instantáneas adicionales que finalmente se rechazarán durante la carga.This value helps prevent creating additional snapshots that will eventually be rejected during upload. Un valor de cero quita el límite por completo, lo que no se recomienda.A value of zero removes the limit entirely, which isn't recommended.
snapshotsPerTenMinutesLimitsnapshotsPerTenMinutesLimit 11 Número máximo de instantáneas permitidas en 10 minutos.The maximum number of snapshots allowed in 10 minutes. Aunque no haya ningún límite superior en este valor, tenga cuidado al aumentarlo en las cargas de trabajo de producción, ya que podría afectar al rendimiento de la aplicación.Although there is no upper bound on this value, exercise caution increasing it on production workloads because it could impact the performance of your application. La creación de una instantánea es rápida, pero la creación de un minivolcado de la instantánea y su carga en el servicio Snapshot Debugger es una operación mucho más lenta que compite con la aplicación por los recursos (CPU y E/S).Creating a snapshot is fast, but creating a minidump of the snapshot and uploading it to the Snapshot Debugger service is a much slower operation that will compete with your application for resources (both CPU and I/O).
tempFoldertempFolder nullnull Especifica la carpeta donde se escribirán los minivolcados y los archivos de registro del cargador.Specifies the folder to write minidumps and uploader log files. Si no se establece, se usa %TEMP%\Dumps.If not set, then %TEMP%\Dumps is used.
thresholdForSnapshottingthresholdForSnapshotting 11 Número de veces que Application Insights necesita ver una excepción antes de solicitar instantáneas.How many times Application Insights needs to see an exception before it asks for snapshots.
uploaderProxyuploaderProxy nullnull Invalida el servidor proxy usado en el proceso del cargador de instantáneas.Overrides the proxy server used in the Snapshot Uploader process. Es posible que tenga que usar esta opción si la aplicación se conecta a Internet a través de un servidor proxy.You may need to use this setting if your application connects to the internet via a proxy server. Snapshot Collector se ejecuta en el proceso de la aplicación y usará la misma configuración de proxy.The Snapshot Collector runs within your application's process and will use the same proxy settings. Sin embargo, el cargador de instantáneas se ejecuta como un proceso independiente y puede que tenga que configurar el servidor proxy manualmente.However, the Snapshot Uploader runs as a separate process and you may need to configure the proxy server manually. Si este valor es NULL, Snapshot Collector intentará detectar automáticamente la dirección del proxy examinando System.Net.WebRequest.DefaultWebProxy y pasando el valor al cargador de instantáneas.If this value is null, then Snapshot Collector will attempt to autodetect the proxy's address by examining System.Net.WebRequest.DefaultWebProxy and passing on the value to the Snapshot Uploader. Si este valor no es NULL, no se usa la detección automática y el servidor proxy especificado aquí se usará en el cargador de instantáneas.If this value isn't null, then autodetection isn't used and the proxy server specified here will be used in the Snapshot Uploader.

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 funciones.Extension bundles let 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 las versiones 2.x y posteriores se sigue el diseño de filtrado por categoría de registro de ASP.NET Core.Versions 2.x and later follow the ASP.NET Core layout for log category filtering. Esta configuración permite el filtrado del registro de funciones específicas.This setting 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

Este valor indica la versión de esquema de host.json.This value indicates the schema version of host.json. La cadena de versión "version": "2.0" es necesaria para una aplicación de funciones que tenga como destino la versión v2 o posterior del entorno de ejecución.The version string "version": "2.0" is required for a function app that targets the v2 runtime, or a later version. No hay cambios en el esquema host.json entre las versiones 2 y 3.There are no host.json schema changes between v2 and v3.

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

Invalidación de valores de host.jsonOverride host.json values

Puede haber instancias en las que quiera configurar o modificar valores específicos en un archivo host.json para un entorno específico, sin cambiar el propio archivo host.json.There may be instances where you wish to configure or modify specific settings in a host.json file for a specific environment, without changing the host.json file itself. Puede invalidar valores específicos de host.json para crear un valor equivalente como una configuración de aplicación.You can override specific host.json values be creating an equivalent value as an application setting. Cuando el entorno de ejecución encuentra una configuración de aplicación en el formato AzureFunctionsJobHost__path__to__setting, invalida la configuración de host.json equivalente que se encuentra en path.to.setting en el archivo JSON.When the runtime finds an application setting in the format AzureFunctionsJobHost__path__to__setting, it overrides the equivalent host.json setting located at path.to.setting in the JSON. Cuando se expresa como una configuración de aplicación, el punto (.), que se utilizaba para indicar la jerarquía JSON, se reemplaza por un carácter de subrayado doble (__).When expressed as an application setting, the dot (.) used to indicate JSON hierarchy is replaced by a double underscore (__).

Por ejemplo, suponga que desea deshabilitar el muestreo de Application Insights cuando se ejecuta localmente.For example, say that you wanted to disable Application Insight sampling when running locally. Si ha cambiado el archivo host.json local para deshabilitar Application Insights, este cambio podría insertarse en la aplicación de producción durante la implementación.If you changed the local host.json file to disable Application Insights, this change might get pushed to your production app during deployment. La manera más segura de hacerlo es crear una configuración de aplicación como "AzureFunctionsJobHost__logging__applicationInsights__samplingSettings__isEnabled":"false" en el archivo local.settings.json.The safer way to do this is to instead create an application setting as "AzureFunctionsJobHost__logging__applicationInsights__samplingSettings__isEnabled":"false" in the local.settings.json file. Puede verlo en el siguiente archivo local.settings.json, que no se publica:You can see this in the following local.settings.json file, which doesn't get published:

{
    "IsEncrypted": false,
    "Values": {
        "AzureWebJobsStorage": "{storage-account-connection-string}",
        "FUNCTIONS_WORKER_RUNTIME": "{language-runtime}",
        "AzureFunctionsJobHost__logging__applicationInsights__samplingSettings__isEnabled":"false"
    }
}

Pasos siguientesNext steps