Compartir a través de


Referencia de host.json para 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 instancia de aplicación de funciones. 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.x. El esquema JSON está en http://json.schemastore.org/host.

Nota

Este artículo trata sobre Azure Functions 1.x. Para obtener una referencia de host.json en Functions 2.x y versiones posteriores, consulte Referencia de host.json para Azure Functions 2.x.

Otras opciones de configuración de las funciones de la aplicación se administran en su configuración de la aplicación.

Algunas opciones de configuración de host.json solo se usan con la ejecución local en el archivo local.settings.json.

Archivo host.json de ejemplo

El siguiente archivo host.json de ejemplo tiene especificadas todas las opciones posibles.

{
    "aggregator": {
        "batchSize": 1000,
        "flushTimeout": "00:00:30"
    },
    "applicationInsights": {
        "sampling": {
          "isEnabled": true,
          "maxTelemetryItemsPerSecond" : 5
        }
    },
    "documentDB": {
        "connectionMode": "Gateway",
        "protocol": "Https",
        "leaseOptions": {
            "leasePrefix": "prefix"
        }
    },
    "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
    },
    "sendGrid": {
        "from": "Contoso Group <admin@contoso.com>"
    },
    "serviceBus": {
      "maxConcurrentCalls": 16,
      "prefetchCount": 100,
      "autoRenewTimeout": "00:05:00",
      "autoComplete": true
    },
    "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. Todas son opcionales, a menos que se indique lo contrario.

aggregator

Especifica cuántas llamadas a funciones se agregan cuando se calculan las métricas para Application Insights.

{
    "aggregator": {
        "batchSize": 1000,
        "flushTimeout": "00:00:30"
    }
}
Propiedad Valor predeterminado Descripción
batchSize 1 000 Número máximo de solicitudes a agregar.
flushTimeout 00:00:30 Período máximo de tiempo para agregar.

Las llamadas a funciones se agregan cuando se alcanza el primero de los dos límites.

PerspectivasDeAplicación

Controla la característica de muestreo de Application Insights.

{
    "applicationInsights": {
        "sampling": {
          "isEnabled": true,
          "maxTelemetryItemsPerSecond" : 5
        }
    }
}
Propiedad Valor predeterminado Descripción
isEnabled cierto Habilita o deshabilita el muestreo.
maxTelemetryItemsPerSecond 5 Umbral donde comienza el muestreo.

DocumentDB

Opciones de configuración para los desencadenadores y enlaces de Azure Cosmos DB.

{
    "documentDB": {
        "connectionMode": "Gateway",
        "protocol": "Https",
        "leaseOptions": {
            "leasePrefix": "prefix1"
        }
    }
}
Propiedad Valor predeterminado Descripción
GatewayMode Puerta de enlace Modo de conexión que usa la función al conectarse al servicio de Azure Cosmos DB. Las opciones son Direct y Gateway
Protocolo Https Protocolo de conexión que usa la función al conectarse al servicio de Azure Cosmos DB. Lea aquí para obtener una explicación de los dos modos
leasePrefix N/D Prefijo de concesión que se usará en todas las funciones de una aplicación.

durableTask

Configuración de Durable Functions.

Nota

Todas las versiones principales de Durable Functions son compatibles con todas las versiones del runtime de Azure Functions. Sin embargo, el esquema de la configuración de host.json difiere ligeramente en función de la versión del entorno de ejecución de Azure Functions y de la versión de la extensión durable Functions que use.

El código siguiente proporciona dos ejemplos de durableTask configuraciones en host.json: uno para Durable Functions 2.x y otro para Durable Functions 1.x. Puede usar ambos ejemplos con Azure Functions 2.0 y 3.0. Con Azure Functions 1.0, la configuración disponible es la misma, pero la sección durableTask de host.json se encuentra en la raíz de la configuración host.json en lugar de ser un campo bajo extensions.

{
 "extensions": {
  "durableTask": {
    "hubName": "MyTaskHub",
    "defaultVersion": "1.0",
    "versionMatchStrategy": "CurrentOrOlder",
    "versionFailureStrategy": "Reject",
    "storageProvider": {
      "connectionStringName": "AzureWebJobsStorage",
      "controlQueueBatchSize": 32,
      "controlQueueBufferThreshold": 256,
      "controlQueueVisibilityTimeout": "00:05:00",
      "FetchLargeMessagesAutomatically": true,
      "maxQueuePollingInterval": "00:00:30",
      "partitionCount": 4,
      "trackingStoreConnectionStringName": "TrackingStorage",
      "trackingStoreNamePrefix": "DurableTask",
      "useLegacyPartitionManagement": false,
      "useTablePartitionManagement": true,
      "workItemQueueVisibilityTimeout": "00:05:00",
      "QueueClientMessageEncoding": "UTF8"
    },
    "tracing": {
      "traceInputsAndOutputs": false,
      "traceReplayEvents": false,
    },
    "notifications": {
      "eventGrid": {
        "topicEndpoint": "https://topic_name.westus2-1.eventgrid.azure.net/api/events",
        "keySettingName": "EventGridKey",
        "publishRetryCount": 3,
        "publishRetryInterval": "00:00:30",
        "publishEventTypes": [
          "Started",
          "Completed",
          "Failed",
          "Terminated"
        ]
      }
    },
    "maxConcurrentActivityFunctions": 10,
    "maxConcurrentOrchestratorFunctions": 10,
    "maxConcurrentEntityFunctions": 10,
    "extendedSessionsEnabled": false,
    "extendedSessionIdleTimeoutInSeconds": 30,
    "useAppLease": true,
    "useGracefulShutdown": false,
    "maxEntityOperationBatchSize": 50,
    "maxOrchestrationActions": 100000,
    "storeInputsInOrchestrationHistory": false
  }
 }
}
Propiedad Valor predeterminado Descripción
Nombre del Hub TestHubName (DurableFunctionsHub en v1.x) Nombre del centro que almacena el estado actual de una aplicación de funciones. Los nombres de la central de tareas deben empezar por una letra y estar formados únicamente por letras y números. Si no especifica un nombre, se usa el valor predeterminado. Los nombres alternativos del centro de tareas se pueden usar para aislar varias aplicaciones de Durable Functions entre sí, incluso si usan el mismo back-end de almacenamiento. Para más información, consulte el artículo sobre las centrales de tareas.
defaultVersion Versión predeterminada que se va a asignar a nuevas instancias de orquestación. Al especificar una versión, las nuevas instancias de orquestación se asocian permanentemente a este valor de versión. Esta configuración la usa la característica de control de versiones de orquestación para habilitar escenarios como implementaciones sin tiempo de inactividad con cambios importantes. Puede usar cualquier valor de cadena para la versión.
versionMatchStrategy Actual o Anterior Valor que especifica cómo coinciden las versiones de orquestación cuando se cargan las funciones de orquestador. Los valores válidos son None, Stricty CurrentOrOlder. Para obtener explicaciones detalladas, consulte Control de versiones de orquestación.
versionFailureStrategy Rechazar Valor que especifica lo que sucede cuando una versión de orquestación no coincide con el valor actual defaultVersion . Los valores válidos son Reject y Fail. Para obtener explicaciones detalladas, consulte Control de versiones de orquestación.
controlQueueBatchSize 32 El número de mensajes que se van a extraer a la vez de la cola de control.
controlQueueBufferThreshold Plan de consumo para Python: 32
Plan de consumo para otros idiomas: 128
Plan dedicado o Premium: 256
Número de mensajes de cola de control que se pueden almacenar en memoria a la vez. Cuando se alcanza el número especificado, el distribuidor espera antes de quitar de la cola cualquier otro mensaje. En algunas situaciones, reducir este valor puede reducir significativamente el consumo de memoria.
número de particiones 4 El recuento de particiones para la cola de control. Este valor debe ser un entero positivo entre 1 y 16. Cambiar este valor requiere configurar un nuevo centro de tareas.
controlQueueVisibilityTimeout 00:05:00 El tiempo de espera de visibilidad de los mensajes de la cola de control quitados de la cola en formato hh:mm:ss.
workItemQueueVisibilityTimeout 00:05:00 El tiempo de espera de visibilidad de los mensajes de la cola de elementos de trabajo quitados de la cola en formato hh:mm:ss.
ObtenerMensajesGrandesAutomáticamente cierto Valor que especifica si se van a recuperar mensajes grandes en consultas de estado de orquestación. Cuando esta configuración es true, se recuperan mensajes grandes que superan el límite de tamaño de cola. Cuando esta configuración es false, se recupera una dirección URL de blob que apunta a cada mensaje grande.
maxConcurrentActivityFunctions Plan de consumo: 10
Plan dedicado o Premium: 10 veces el número de procesadores en la máquina actual
El número máximo de funciones de actividad que se pueden procesar simultáneamente en una única instancia de host.
maxConcurrentOrchestratorFunctions Plan de consumo: 5
Plan dedicado o Premium: 10 veces el número de procesadores en la máquina actual
El número máximo de funciones de Orchestrator que se pueden procesar simultáneamente en una única instancia de host.
maxConcurrentEntityFunctions Plan de consumo: 5
Plan dedicado o Premium: 10 veces el número de procesadores en la máquina actual
Número máximo de funciones de entidad que se pueden procesar simultáneamente en una sola instancia de host. Esta configuración solo es aplicable cuando se usa el programador de tareas durable. De lo contrario, el número máximo de ejecuciones de entidades simultáneas se limita al maxConcurrentOrchestratorFunctions valor .
maxQueuePollingInterval 00:00:30 Intervalo de sondeo de cola de elementos de trabajo y control máximo en formato hh:mm:ss:. Los valores más altos pueden provocar mayores latencias de procesamiento de mensajes. Los valores más bajos pueden provocar mayores costos de almacenamiento debido a transacciones de almacenamiento más frecuentes.
maxOrchestrationActions 100 000 El número máximo de acciones que puede realizar una función de orquestador durante un solo ciclo de ejecución.
connectionName (v2.7.0 y versiones posteriores)
connectionStringName (v2.x)
azureStorageConnectionStringName (v1.x)
AzureWebJobsStorage Nombre de una configuración de aplicación o de una colección de configuraciones que especifica cómo conectarse a los recursos subyacentes de Azure Storage. Cuando proporciona una única configuración de aplicación, debe ser una cadena de conexión de Azure Storage.
trackingStoreConnectionName (v2.7.0 y versiones posteriores)
trackingStoreConnectionStringName
Nombre de una configuración de aplicación o colección de configuración que especifica cómo conectarse a las tablas Historial e instancias, que almacenan el historial de ejecución y los metadatos sobre las instancias de orquestación. Cuando proporciona una única configuración de aplicación, debe ser una cadena de conexión de Azure Storage. Si no especifica un ajuste, se utiliza el valor de conexión connectionStringName (v2.x) o el valor de conexión azureStorageConnectionStringName (v1.x).
trackingStoreNamePrefix Prefijo que se usará para las tablas de historial e instancias cuando se especifica trackingStoreConnectionStringName. Si no especifica un prefijo, se usa el valor predeterminado de DurableTask . Si trackingStoreConnectionStringName no se especifica, las tablas Historial e Instancias usan el hubName valor como prefijo y se omite la trackingStoreNamePrefix configuración.
traceInputsAndOutputs falso Valor que indica si se deben realizar un seguimiento de las entradas y salidas de las llamadas de función. Cuando se realiza un seguimiento de los eventos de ejecución de funciones, el comportamiento predeterminado es incluir el número de bytes en las entradas y salidas serializadas para las llamadas de función. Este comportamiento proporciona información mínima sobre las entradas y salidas para que no sobredimensione los registros o exponga información confidencial involuntariamente. Cuando esta propiedad es true, se registran todo el contenido de las entradas y salidas de la función.
traceReplayEvents falso Un valor que indica si se debe escribir eventos de reproducción de orquestación en Application Insights.
logReplayEvents falso Valor que indica si se van a registrar ejecuciones reproducidas en los registros de aplicación.
eventGridTopicEndpoint La dirección URL de un punto de conexión de tema personalizado de Azure Event Grid. Al configurar esta propiedad, los eventos de notificación relacionados con el ciclo de vida de la orquestación se publican en este punto de conexión. Esta propiedad facilita la resolución de configuraciones de la aplicación.
eventGridKeySettingName El nombre de la configuración de aplicación que contiene la clave usada para autenticarse con el tema personalizado de Event Grid en la URL EventGridTopicEndpoint.
eventGridPublishRetryCount 0 Número de veces que se reintenta si se produce un error en la publicación en el tema de Event Grid.
eventGridPublishRetryInterval 00:05:00 Intervalo de reintento de publicación de Event Grid en formato hh:mm:ss.
eventGridPublishEventTypes Lista de tipos de eventos que se van a publicar en Event Grid. Si no especifica ningún tipo, se publican todos los tipos de eventos. Los valores permitidos incluyen Started, Completed, Failedy Terminated.
extendedSessionsEnabled falso Valor que especifica si el orquestador de sesión y las sesiones de función de entidad se almacenan en caché.
TiempoDeEsperaInactivoExtendidoEnSegundos (extendedSessionIdleTimeoutInSeconds) 30 El número de segundos que una función de orquestador o entidad inactiva permanece en memoria antes de ser descargada. Esta configuración solo se usa cuando la extendedSessionsEnabled configuración es true.
useAppLease cierto Valor que indica si las aplicaciones deben adquirir una concesión de blob a nivel de aplicación antes de procesar los mensajes del centro de tareas. Para obtener más información, consulte Recuperación ante desastres y distribución geográfica en Durable Functions. Esta configuración está disponible a partir de v2.3.0.
useLegacyPartitionManagement falso Valor que especifica el tipo de algoritmo de administración de particiones que se va a usar. Cuando esta configuración es false, se usa un algoritmo que reduce la posibilidad de la ejecución de funciones duplicadas al escalar horizontalmente. Esta configuración está disponible a partir de v2.3.0. No se recomienda establecer este valor en true.
useTablePartitionManagement En v3.x: verdadero
En v2.x: false
Valor que especifica el tipo de algoritmo de administración de particiones que se va a usar. Cuando esta configuración es true, se usa un algoritmo diseñado para reducir los costos de las cuentas de Azure Storage v2. Esta configuración está disponible a partir de WebJobs.Extensions.DurableTask v2.10.0. El uso de esta configuración con una identidad administrada requiere WebJobs.Extensions.DurableTask v3.x o posterior, o Worker.Extensions.DurableTask v1.2.x o posterior.
useGracefulShutdown falso (Versión preliminar) Un valor que indica si se debe realizar un apagado gradual para reducir la posibilidad de que los apagados del host provoquen fallos en las ejecuciones de funciones en-proceso.
maxEntityOperationBatchSize Plan de consumo: 50
Plan dedicado o Premium: 5000
Número máximo de operaciones de entidad que se procesan como un lote. Si este valor es 1, el procesamiento por lotes está deshabilitado y una invocación de función independiente procesa cada mensaje de operación. Esta configuración está disponible a partir de v2.6.1.
storeInputsInOrchestrationHistory falso Valor que especifica cómo almacenar entradas. Cuando esta configuración es true, Durable Task Framework guarda las entradas de actividad en la tabla Historial y las entradas de función de actividad aparecen en los resultados de la consulta del historial de orquestaciones.
maxGrpcMessageSizeInBytes 4,194,304 Valor entero que establece el tamaño máximo, en bytes, de los mensajes que puede recibir el cliente genérico de llamada a procedimiento remoto (gRPC). La implementación de DurableTaskClient usa el cliente gRPC para administrar instancias de orquestación. Esta configuración se aplica al trabajador aislado de Durable Functions .NET y a las aplicaciones Java.
grpcHttpClientTimeout 00:01:40 Tiempo de espera en formato hh:mm:ss para el cliente HTTP usado por el cliente gRPC en Durable Functions. Actualmente, el cliente es compatible con aplicaciones de trabajo aisladas de .NET (.NET 6 y versiones posteriores) y para aplicaciones Java.
QueueClientMessageEncoding UTF8 Estrategia de codificación para los mensajes de Azure Queue Storage. Las estrategias válidas son Formato de transformación Unicode–8 bits (UTF8) y Base64. Esta configuración se aplica cuando se usa Microsoft.Azure.WebJobs.Extensions.DurableTask 3.4.0 o posterior, o Microsoft.Azure.Functions.Worker.Extensions.DurableTask 1.7.0 o posterior.

Muchos de estos valores son para optimizar el rendimiento. Para obtener más información, vea Rendimiento y escalabilidad.

eventHub

Opciones de configuración para los desencadenadores y enlaces del Centro de eventos.

funciones

Lista de las funciones que el host de trabajo ejecuta. Una matriz vacía significa ejecutar todas las funciones. Su uso está previsto solo cuando se ejecuta localmente. 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.

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

functionTimeout

Indica la duración del tiempo de espera para todas las funciones. 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. En un plan de App Service, no hay ningún límite general y el valor predeterminado es null, lo que indica que no hay tiempo de espera.

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

healthMonitor

Configuración del monitor de estado de host.

{
    "healthMonitor": {
        "enabled": true,
        "healthCheckInterval": "00:00:10",
        "healthCheckWindow": "00:02:00",
        "healthCheckThreshold": 6,
        "counterThreshold": 0.80
    }
}
Propiedad Valor predeterminado Descripción
enabled cierto Especifica si está habilitada la característica.
healthCheckInterval 10 segundos El intervalo de tiempo entre las comprobaciones periódicas de mantenimiento en segundo plano.
ventana de verificación de salud 2 minutos Período de tiempo deslizante que se usa con la configuración healthCheckThreshold.
healthCheckThreshold 6 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.
counterThreshold 0.80 El umbral a partir del cual se considerará que un contador de rendimiento es no saludable.

HTTP

Opciones de configuración para los desencadenadores y enlaces HTTP.

{
    "http": {
        "routePrefix": "api",
        "maxOutstandingRequests": 200,
        "maxConcurrentRequests": 100,
        "dynamicThrottlesEnabled": true
    }
}
Propiedad Valor predeterminado Descripción
dynamicThrottlesEnabled falso 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 rechazan con una respuesta 429 "Ocupado" hasta que los contadores vuelvan a niveles normales.
máximo de solicitudes concurrentes ilimitado (-1) Número máximo de funciones HTTP que se ejecutarán en paralelo. Esto permite controlar la simultaneidad, que a su vez puede ayudar a administrar el uso de recursos. 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. 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. En estos casos puede ayudar aplicar una limitación.
máximo de solicitudes pendientes ilimitado (-1) Número máximo de solicitudes pendientes que se mantienen en un momento dado. Este límite incluye las solicitudes que están en cola pero no han empezado a ejecutarse y cualquier ejecución en curso. Se rechazan todas las solicitudes entrantes que superen este límite con una respuesta 429 "Too Busy" (demasiado ocupado). 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. Únicamente se controlan los movimientos de la cola que se producen dentro de la ruta de ejecución del host del script. 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.
routePrefix Interfaz de Programación de Aplicaciones (API) Prefijo de ruta que se aplica a todas las rutas. Use una cadena vacía para quitar el prefijo predeterminado.

id

Id. exclusivo de un host de trabajo. Puede ser un GUID en minúsculas sin guiones. Requerido cuando se realiza la ejecución localmente. Cuando se ejecuta en Azure, se recomienda no establecer un valor de identificador. Cuando id se omite, se genera un identificador automáticamente en Azure.

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. Puede omitir la propiedad id o establecer manualmente el id de cada aplicación de función en un valor diferente. 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. Si dos aplicaciones de función comparten el mismo id y cada una usa un desencadenador de temporizador, solo se ejecuta un temporizador.

{
    "id": "9f4ea53c5136457d883d685e57164f08"
}

logger

Controla el filtrado de los registros escritos por un objeto ILogger o context.log.

{
    "logger": {
        "categoryFilter": {
            "defaultLevel": "Information",
            "categoryLevels": {
                "Host": "Error",
                "Function": "Error",
                "Host.Aggregator": "Information"
            }
        }
    }
}
Propiedad Valor predeterminado Descripción
filtro de categoría N/D Especifica el filtrado por categoría
nivel predeterminado Información Para las categorías no especificadas en la matriz categoryLevels, envía registros en este nivel y superiores a Application Insights.
categoryLevels N/D Matriz de categorías que especifica el nivel de registro mínimo para enviar a Application Insights para cada categoría. La categoría especificada aquí controla todas las categorías que comienzan por el mismo valor, y los valores más largos tienen prioridad. En el archivo host.json del ejemplo anterior, todas las categorías que comienzan por "Host.Aggregator" se registran en el nivel Information. Todas las demás categorías que comienzan por "Host", como "Host.Executor", se registran en el nivel Error.

Colas

Opciones de configuración para los desencadenadores y enlaces de la cola de Storage.

{
    "queues": {
      "maxPollingInterval": 2000,
      "visibilityTimeout" : "00:00:30",
      "batchSize": 16,
      "maxDequeueCount": 5,
      "newBatchThreshold": 8
    }
}
Propiedad Valor predeterminado Descripción
intervaloMáximoDeSondeo 60000 Intervalo máximo, en milisegundos, entre sondeos de la cola.
visibilityTimeout 0 Intervalo de tiempo entre los reintentos cuando se produce un error al procesar un mensaje.
batchSize 16 El número de mensajes en cola que el entorno de ejecución de Functions recupera simultáneamente y procesa en paralelo. Cuando el número que se está procesando llega a newBatchThreshold el runtime obtiene otro lote y empieza a procesar esos mensajes. Por lo tanto, el número máximo de mensajes simultáneos que se procesan por función es batchSize más newBatchThreshold. Este límite se aplica por separado a cada función desencadenada por la cola.

Si desea evitar la ejecución en paralelo de los mensajes de una cola, puede establecer batchSize en 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). 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.

El valor máximo de batchSize es 32.
maxDequeueCount 5 Número de veces que se intenta procesar un mensaje antes de pasarlo a la cola de mensajes dudosos.
newBatchThreshold batchSize/2 Siempre que el número de mensajes que se procesan simultáneamente llega a este número, el runtime recupera otro lote.

SendGrid

Opción de configuración para el enlace de salida de SendGrind.

{
    "sendGrid": {
        "from": "Contoso Group <admin@contoso.com>"
    }
}    
Propiedad Valor predeterminado Descripción
desde N/D Dirección de correo electrónico del remitente en todas las funciones.

serviceBus

Opción de configuración para los desencadenadores y enlaces de Service Bus.

{ 
    "serviceBus": {
      "maxConcurrentCalls": 16,
      "prefetchCount": 100,
      "autoRenewTimeout": "00:05:00",
      "autoComplete": true
    }
}
Propiedad Valor predeterminado Descripción
máximo de llamadas simultáneas 16 Número máximo de llamadas simultáneas a la devolución de llamada que el bombeo de mensajes debe iniciar. De forma predeterminada, el entorno de ejecución de Functions procesa simultáneamente varios mensajes. Para indicar al entorno de ejecución que procese solo los mensajes de una única cola o tema, establezca maxConcurrentCalls en 1.
prefetchCount N/D Valor predeterminado de PrefetchCount que utilizará el ServiceBusReceiver subyacente.
autoRenewTimeout 00:05:00 Duración máxima dentro de la cual el bloqueo de mensajes se renovará automáticamente.
autoComplete cierto Cuando es true, el desencadenador completa el procesamiento de mensajes automáticamente cuando la operación se ejecuta correctamente. Cuando sea false, es responsabilidad de la función completar el mensaje antes de volver.

singleton

Opciones de configuración para el comportamiento de bloqueo Singleton. Para más información, consulte problema de compatibilidad de GitHub con singleton.

{
    "singleton": {
      "lockPeriod": "00:00:15",
      "listenerLockPeriod": "00:01:00",
      "listenerLockRecoveryPollingInterval": "00:01:00",
      "lockAcquisitionTimeout": "00:01:00",
      "lockAcquisitionPollingInterval": "00:00:03"
    }
}
Propiedad Valor predeterminado Descripción
período de bloqueo 00:00:15 Período durante el cual se producen los bloqueos de nivel de función. Los bloqueos se renuevan automáticamente.
listenerLockPeriod 00:01:00 Período durante el cual se producen los bloqueos de agente de escucha.
listenerLockRecoveryPollingInterval 00:01:00 Intervalo de tiempo utilizado para la recuperación del bloqueo de escucha si no se pudo adquirir dicho bloqueo durante el inicio.
lockAcquisitionTimeout 00:01:00 Cantidad máxima de tiempo que el entorno en tiempo de ejecución intenta adquirir un bloqueo.
lockAcquisitionPollingInterval N/D Intervalo entre intentos de adquisición de bloqueo.

tracing

Versión 1.x

Opciones de configuración para los registros que se crean mediante un objeto TraceWriter. Para más información, consulte [Registro de C#].

{
    "tracing": {
      "consoleLevel": "verbose",
      "fileLoggingMode": "debugOnly"
    }
}
Propiedad Valor predeterminado Descripción
consoleLevel info Nivel de seguimiento para el registro de la consola. Las opciones son: off, error, warning, info y verbose.
fileLoggingMode debugOnly Nivel de seguimiento para el registro de archivos. Las opciones son never, always, debugOnly.

watchDirectories

Conjunto de directorios de código compartido en los que se deben supervisar los cambios. Garantiza que cuando se cambie el código en estos directorios, las funciones recibirán los cambios.

{
    "watchDirectories": [ "Shared" ]
}

Pasos siguientes