Referencia de host.json para Azure Functions 1.xhost.json reference for Azure Functions 1.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 1.This article lists the settings that are available for the v1 runtime. El esquema JSON está en http://json.schemastore.org/host.The JSON schema is at http://json.schemastore.org/host.

Nota

Este artículo trata sobre Azure Functions 1.x.This article is for Azure Functions 1.x. Para obtener una referencia de host.json en Functions 2.x, consulte la referencia de host.json para Azure Functions, versión 2.x.For a reference of host.json in Functions 2.x, see host.json reference for Azure Functions 2.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.

{
    "aggregator": {
        "batchSize": 1000,
        "flushTimeout": "00:00:30"
    },
    "applicationInsights": {
        "sampling": {
          "isEnabled": true,
          "maxTelemetryItemsPerSecond" : 5
        }
    },
    "eventHub": {
      "maxBatchSize": 64,
      "prefetchCount": 256,
      "batchCheckpointFrequency": 1
    },
    "functions": [ "QueueProcessor", "GitHubWebHook" ],
    "functionTimeout": "00:05:00",
    "healthMonitor": {
        "enabled": true,
        "healthCheckInterval": "00:00:10",
        "healthCheckWindow": "00:02:00",
        "healthCheckThreshold": 6,
        "counterThreshold": 0.80
    },
    "http": {
        "routePrefix": "api",
        "maxOutstandingRequests": 20,
        "maxConcurrentRequests": 10,
        "dynamicThrottlesEnabled": false
    },
    "id": "9f4ea53c5136457d883d685e57164f08",
    "logger": {
        "categoryFilter": {
            "defaultLevel": "Information",
            "categoryLevels": {
                "Host": "Error",
                "Function": "Error",
                "Host.Aggregator": "Information"
            }
        }
    },
    "queues": {
      "maxPollingInterval": 2000,
      "visibilityTimeout" : "00:00:30",
      "batchSize": 16,
      "maxDequeueCount": 5,
      "newBatchThreshold": 8
    },
    "serviceBus": {
      "maxConcurrentCalls": 16,
      "prefetchCount": 100,
      "autoRenewTimeout": "00:05:00"
    },
    "singleton": {
      "lockPeriod": "00:00:15",
      "listenerLockPeriod": "00:01:00",
      "listenerLockRecoveryPollingInterval": "00:01:00",
      "lockAcquisitionTimeout": "00:01:00",
      "lockAcquisitionPollingInterval": "00:00:03"
    },
    "tracing": {
      "consoleLevel": "verbose",
      "fileLoggingMode": "debugOnly"
    },
    "watchDirectories": [ "Shared" ],
}

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

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

{
    "applicationInsights": {
        "sampling": {
          "isEnabled": true,
          "maxTelemetryItemsPerSecond" : 5
        }
    }
}
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.

durableTaskdurableTask

Configuración de Durable Functions.Configuration settings for Durable Functions.

{
  "durableTask": {
    "hubName": "MyTaskHub",
    "controlQueueBatchSize": 32,
    "partitionCount": 4,
    "controlQueueVisibilityTimeout": "00:05:00",
    "workItemQueueVisibilityTimeout": "00:05:00",
    "maxConcurrentActivityFunctions": 10,
    "maxConcurrentOrchestratorFunctions": 10,
    "maxQueuePollingInterval": "00:00:30",
    "azureStorageConnectionStringName": "AzureWebJobsStorage",
    "trackingStoreConnectionStringName": "TrackingStorage",
    "trackingStoreNamePrefix": "DurableTask",
    "traceInputsAndOutputs": false,
    "logReplayEvents": false,
    "eventGridTopicEndpoint": "https://topic_name.westus2-1.eventgrid.azure.net/api/events",
    "eventGridKeySettingName":  "EventGridKey",
    "eventGridPublishRetryCount": 3,
    "eventGridPublishRetryInterval": "00:00:30",
    "eventGridPublishEventTypes": ["Started", "Completed", "Failed", "Terminated"]
  }
}

Los nombres de la central de tareas deben empezar por una letra y estar formados únicamente por letras y números.Task hub names must start with a letter and consist of only letters and numbers. Si no se especifica, el nombre predeterminado de la central de tareas de la aplicación de función es DurableFunctionsHub.If not specified, the default task hub name for a function app is DurableFunctionsHub. Para más información, consulte el artículo sobre las centrales de tareas.For more information, see Task hubs.

PropiedadProperty Valor predeterminadoDefault DESCRIPCIÓNDescription
hubNamehubName DurableFunctionsHubDurableFunctionsHub Se pueden usar nombres de central de tareas alternativos para aislar varias aplicaciones de Durable Functions unas de otras, incluso si usan el mismo back-end de almacenamiento.Alternate task hub names can be used to isolate multiple Durable Functions applications from each other, even if they're using the same storage backend.
controlQueueBatchSizecontrolQueueBatchSize 3232 El número de mensajes que se van a extraer a la vez de la cola de control.The number of messages to pull from the control queue at a time.
partitionCountpartitionCount 44 El recuento de particiones para la cola de control.The partition count for the control queue. Puede ser un entero positivo comprendido entre 1 y 16.May be a positive integer between 1 and 16.
controlQueueVisibilityTimeoutcontrolQueueVisibilityTimeout 5 minutos5 minutes El tiempo de espera de visibilidad de los mensajes de la cola de control quitados de la cola.The visibility timeout of dequeued control queue messages.
workItemQueueVisibilityTimeoutworkItemQueueVisibilityTimeout 5 minutos5 minutes El tiempo de espera de visibilidad de los mensajes de la cola de elementos de trabajo quitados de la cola.The visibility timeout of dequeued work item queue messages.
maxConcurrentActivityFunctionsmaxConcurrentActivityFunctions 10 veces el número de procesadores en la máquina actual.10X the number of processors on the current machine El número máximo de funciones de actividad que se pueden procesar simultáneamente en una única instancia de host.The maximum number of activity functions that can be processed concurrently on a single host instance.
maxConcurrentOrchestratorFunctionsmaxConcurrentOrchestratorFunctions 10 veces el número de procesadores en la máquina actual.10X the number of processors on the current machine El número máximo de funciones de Orchestrator que se pueden procesar simultáneamente en una única instancia de host.The maximum number of orchestrator functions that can be processed concurrently on a single host instance.
maxQueuePollingIntervalmaxQueuePollingInterval 30 segundos30 seconds Intervalo de sondeo de cola de elementos de trabajo y control máximo en formato hh:mm:ss: .The maximum control and work-item queue polling interval in the hh:mm:ss format. Los valores más altos pueden provocar mayores latencias de procesamiento de mensajes.Higher values can result in higher message processing latencies. Los valores más bajos pueden provocar mayores costos de almacenamiento debido a transacciones de almacenamiento mayor.Lower values can result in higher storage costs because of increased storage transactions.
azureStorageConnectionStringNameazureStorageConnectionStringName AzureWebJobsStorageAzureWebJobsStorage El nombre de la configuración de aplicación que tiene la cadena de conexión de Azure Storage que se usa para administrar los recursos subyacentes de Azure Storage.The name of the app setting that has the Azure Storage connection string used to manage the underlying Azure Storage resources.
trackingStoreConnectionStringNametrackingStoreConnectionStringName Nombre de una cadena de conexión que se usará para las tablas de historial e instancias.The name of a connection string to use for the History and Instances tables. Si no se especifica, se usa la conexión azureStorageConnectionStringName.If not specified, the azureStorageConnectionStringName connection is used.
trackingStoreNamePrefixtrackingStoreNamePrefix Prefijo que se usará para las tablas de historial e instancias cuando se especifica trackingStoreConnectionStringName.The prefix to use for the History and Instances tables when trackingStoreConnectionStringName is specified. Si no se establece, el valor de prefijo predeterminado será DurableTask.If not set, the default prefix value will be DurableTask. Si no se especifica trackingStoreConnectionStringName, las tablas de historial e instancias usarán el valor hubName como prefijo y se pasarán por alto todos los valores de configuración de trackingStoreNamePrefix.If trackingStoreConnectionStringName is not specified, then the History and Instances tables will use the hubName value as their prefix, and any setting for trackingStoreNamePrefix will be ignored.
traceInputsAndOutputstraceInputsAndOutputs falsefalse Un valor que indica si se realizará el seguimiento de las entradas y salidas de las llamadas de función.A value indicating whether to trace the inputs and outputs of function calls. El comportamiento predeterminado al realizar el seguimiento de eventos de ejecución de funciones es incluir el número de bytes en las entradas y salidas serializadas de las llamadas de función.The default behavior when tracing function execution events is to include the number of bytes in the serialized inputs and outputs for function calls. Este comportamiento proporciona información mínima sobre el aspecto de las entradas y salidas, sin sobredimensionar los registros o exponer por accidente información confidencial.This behavior provides minimal information about what the inputs and outputs look like without bloating the logs or inadvertently exposing sensitive information. Al establecer esta propiedad en true, el registro de funciones predeterminado registra todo el contenido de las entradas y salidas de función.Setting this property to true causes the default function logging to log the entire contents of function inputs and outputs.
logReplayEventslogReplayEvents falsefalse Un valor que indica si se debe escribir eventos de reproducción de orquestación en Application Insights.A value indicating whether to write orchestration replay events to Application Insights.
eventGridTopicEndpointeventGridTopicEndpoint La dirección URL de un punto de conexión de tema personalizado de Azure Event Grid.The URL of an Azure Event Grid custom topic endpoint. Cuando se establece esta propiedad, se publican eventos de notificación del ciclo de vida de orquestación en este punto de conexión.When this property is set, orchestration life-cycle notification events are published to this endpoint. Esta propiedad admite la resolución de la configuración de la aplicación.This property supports App Settings resolution.
eventGridKeySettingNameeventGridKeySettingName El nombre de la configuración de aplicación que contiene la clave usada para autenticarse con el tema personalizado de Azure Event Grid en EventGridTopicEndpoint.The name of the app setting containing the key used for authenticating with the Azure Event Grid custom topic at EventGridTopicEndpoint.
eventGridPublishRetryCounteventGridPublishRetryCount 00 El número de reintentos, si, al publicar en el tema de Event Grid, se produce un error.The number of times to retry if publishing to the Event Grid Topic fails.
eventGridPublishRetryIntervaleventGridPublishRetryInterval 5 minutos5 minutes Event Grid publica el intervalo de reintento en formato hh:mm:ss.The Event Grid publishes retry interval in the hh:mm:ss format.
eventGridPublishEventTypeseventGridPublishEventTypes Lista de tipos de eventos que se van a publicar en Event Grid.A list of event types to publish to Event Grid. Si no se especifica, se publicarán todos los tipos de evento.If not specified, all event types will be published. Los valores permitidos son Started, Completed, Failed y Terminated.Allowed values include Started, Completed, Failed, Terminated.

Muchos de estos valores son para optimizar el rendimiento.Many of these settings are for optimizing performance. Para más información, consulte Rendimiento y escalado.For more information, see Performance and scale.

eventHubeventHub

Opciones de configuración para los desencadenadores y enlaces del Centro de eventos.Configuration settings for Event Hub triggers and bindings.

{
    "eventHub": {
      "maxBatchSize": 64,
      "prefetchCount": 256,
      "batchCheckpointFrequency": 1
    }
}
PropiedadProperty Valor predeterminadoDefault DESCRIPCIÓNDescription
maxBatchSizemaxBatchSize 6464 Número máximo de eventos recibido por cada bucle de recepción.The maximum event count received per receive loop.
prefetchCountprefetchCount N/Dn/a Valor predeterminado de PrefetchCount que utilizará el host de procesador de eventos subyacente.The default PrefetchCount that will be used by the underlying EventProcessorHost.
batchCheckpointFrequencybatchCheckpointFrequency 11 Número de lotes de eventos que se va a procesar antes de crear un punto de comprobación de cursor de EventHub.The number of event batches to process before creating an EventHub cursor checkpoint.

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

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

Opciones de configuración para los desencadenadores y enlaces HTTP.Configuration settings for 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.

idid

Solo en la versión 1.x.Version 1.x only.

Identificador único de un host de trabajo.The unique ID for a job host. Puede ser un GUID en minúsculas sin guiones.Can be a lower case GUID with dashes removed. Requerido cuando se realiza la ejecución localmente.Required when running locally. Cuando se ejecuta en Azure, se recomienda no establecer un valor de identificador.When running in Azure, we recommend that you not set an ID value. Cuando id se omite, se genera un identificador automáticamente en Azure.An ID is generated automatically in Azure when id is omitted.

Si comparte una cuenta de almacenamiento entre varias aplicaciones de función, asegúrese de que cada aplicación de función tiene otro id.If you share a Storage account across multiple function apps, make sure that each function app has a different id. Puede omitir la propiedad id o establecer manualmente el id de cada aplicación de función en un valor diferente.You can omit the id property or manually set each function app's id to a different value. El desencadenador de temporizador utiliza un bloqueo de almacenamiento para asegurarse de que solo hay una instancia de temporizador cuando una aplicación de función se escala a varias instancias.The timer trigger uses a storage lock to ensure that there will be only one timer instance when a function app scales out to multiple instances. Si dos aplicaciones de función comparten el mismo id y cada una usa un desencadenador de temporizador, solo se ejecutará un temporizador.If two function apps share the same id and each uses a timer trigger, only one timer will run.

{
    "id": "9f4ea53c5136457d883d685e57164f08"
}

loggerlogger

Controla el filtrado de los registros escritos por un objeto ILogger o context.log.Controls filtering for logs written by an ILogger object or by context.log.

{
    "logger": {
        "categoryFilter": {
            "defaultLevel": "Information",
            "categoryLevels": {
                "Host": "Error",
                "Function": "Error",
                "Host.Aggregator": "Information"
            }
        }
    }
}
PropiedadProperty Valor predeterminadoDefault DESCRIPCIÓNDescription
categoryFiltercategoryFilter N/Dn/a Especifica el filtrado por categoríaSpecifies filtering by category
defaultLeveldefaultLevel InformationInformation Para las categorías no especificadas en la matriz categoryLevels, envía registros en este nivel y superiores a Application Insights.For any categories not specified in the categoryLevels array, send logs at this level and above to Application Insights.
categoryLevelscategoryLevels N/Dn/a Matriz de categorías que especifica el nivel de registro mínimo para enviar a Application Insights para cada categoría.An array of categories that specifies the minimum log level to send to Application Insights for each category. La categoría especificada aquí controla todas las categorías que comienzan por el mismo valor, y los valores más largos tienen prioridad.The category specified here controls all categories that begin with the same value, and longer values take precedence. En el archivo host.json del ejemplo anterior, todas las categorías que comienzan por "Host.Aggregator" se registran en el nivel Information.In the preceding sample host.json file, all categories that begin with "Host.Aggregator" log at Information level. Todas las demás categorías que comienzan por "Host", como "Host.Executor", se registran en el nivel Error.All other categories that begin with "Host", such as "Host.Executor", log at Error level.

queuesqueues

Opciones de configuración para los desencadenadores y enlaces de la cola de Storage.Configuration settings for Storage queue triggers and bindings.

{
    "queues": {
      "maxPollingInterval": 2000,
      "visibilityTimeout" : "00:00:30",
      "batchSize": 16,
      "maxDequeueCount": 5,
      "newBatchThreshold": 8
    }
}
PropiedadProperty Valor predeterminadoDefault DESCRIPCIÓNDescription
maxPollingIntervalmaxPollingInterval 6000060000 Intervalo máximo, en milisegundos, entre sondeos de la cola.The maximum interval in milliseconds between queue polls.
visibilityTimeoutvisibilityTimeout 00 Intervalo de tiempo entre los reintentos cuando se produce un error al procesar un mensaje.The time interval between retries when processing of a message fails.
batchSizebatchSize 1616 El número de mensajes en cola que el runtime de Functions recupera simultáneamente y procesa en paralelo.The number of queue messages that the Functions runtime retrieves simultaneously and processes in parallel. Cuando el número que se está procesando llega a newBatchThreshold el runtime obtiene otro lote y empieza a procesar esos mensajes.When the number being processed gets down to the newBatchThreshold, the runtime gets another batch and starts processing those messages. Por lo tanto, el número máximo de mensajes simultáneos que se procesan por función es batchSize más newBatchThreshold.So the maximum number of concurrent messages being processed per function is batchSize plus newBatchThreshold. Este límite se aplica por separado a cada función desencadenada por la cola.This limit applies separately to each queue-triggered function.

Si desea evitar la ejecución en paralelo de los mensajes de una cola, puede establecer batchSize en 1.If you want to avoid parallel execution for messages received on one queue, you can set batchSize to 1. Sin embargo, este valor solo elimina la simultaneidad siempre y cuando la aplicación de función se ejecute en una única máquina virtual (VM).However, this setting eliminates concurrency only so long as your function app runs on a single virtual machine (VM). Si la aplicación de función se escala horizontalmente a varias máquinas virtuales, cada una de ellas podría ejecutar una instancia de cada función desencadenada por la cola.If the function app scales out to multiple VMs, each VM could run one instance of each queue-triggered function.

El valor máximo de batchSize es 32.The maximum batchSize is 32.
maxDequeueCountmaxDequeueCount 55 Número de veces que se intenta procesar un mensaje antes de pasarlo a la cola de mensajes dudosos.The number of times to try processing a message before moving it to the poison queue.
newBatchThresholdnewBatchThreshold batchSize/2batchSize/2 Siempre que el número de mensajes que se procesan simultáneamente llega a este número, el runtime recupera otro lote.Whenever the number of messages being processed concurrently gets down to this number, the runtime retrieves another batch.

serviceBusserviceBus

Opción de configuración para los desencadenadores y enlaces de Service Bus.Configuration setting for Service Bus triggers and bindings.

{
    "serviceBus": {
      "maxConcurrentCalls": 16,
      "prefetchCount": 100,
      "autoRenewTimeout": "00:05:00"
    }
}
PropiedadProperty Valor predeterminadoDefault DESCRIPCIÓNDescription
maxConcurrentCallsmaxConcurrentCalls 1616 Número máximo de llamadas simultáneas a la devolución de llamada que el bombeo de mensajes debe iniciar.The maximum number of concurrent calls to the callback that the message pump should initiate. De forma predeterminada, el entorno de ejecución de Functions procesa simultáneamente varios mensajes.By default, the Functions runtime processes multiple messages concurrently. Para indicar al entorno de ejecución que procese solo los mensajes de una única cola o tema, establezca maxConcurrentCalls en 1.To direct the runtime to process only a single queue or topic message at a time, set maxConcurrentCalls to 1.
prefetchCountprefetchCount N/Dn/a Valor predeterminado de PrefetchCount que utilizará el receptor de mensajes subyacente.The default PrefetchCount that will be used by the underlying MessageReceiver.
autoRenewTimeoutautoRenewTimeout 00:05:0000:05:00 Duración máxima dentro de la cual el bloqueo de mensajes se renovará automáticamente.The maximum duration within which the message lock will be renewed automatically.

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.

tracingtracing

Versión 1.xVersion 1.x

Opciones de configuración para los registros que se crean mediante un objeto TraceWriter.Configuration settings for logs that you create by using a TraceWriter object. Consulte Registro de C# y Registro de Node.js.See C# Logging and Node.js Logging.

{
    "tracing": {
      "consoleLevel": "verbose",
      "fileLoggingMode": "debugOnly"
    }
}
PropiedadProperty Valor predeterminadoDefault DESCRIPCIÓNDescription
consoleLevelconsoleLevel infoinfo Nivel de seguimiento para el registro de la consola.The tracing level for console logging. Las opciones son: off, error, warning, info y verbose.Options are: off, error, warning, info, and verbose.
fileLoggingModefileLoggingMode debugOnlydebugOnly Nivel de seguimiento para el registro de archivos.The tracing level for file logging. Las opciones son never, always, debugOnly.Options are never, always, debugOnly.

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