host.json
Azure Functions host.json files
| Type | object |
|---|---|
| File match |
host.json
|
| Schema URL | https://catalog.lintel.tools/schemas/schemastore/host-json/latest.json |
| Source | https://www.schemastore.org/host.json |
Validate with Lintel
npx @lintel/lintel check
One of
Definitions
Configuration settings for the function result aggregator.
The maximum batch size for aggregations. If this value is reached before the 'flushTimeout', all values will be flushed.
The aggregation duration. The aggregator will flush periodically based on this value.
The list of functions the host should load.
Value indicating the timeout duration for all functions.
Set of shared code directories that should be monitored for changes to ensure that when code in these directories is changed, it is picked up by your functions
Configuration settings for Singleton lock behavior.
The period that function level locks are taken for (they will auto renew).
The period that listener locks are taken for.
The time interval used for listener lock recovery if a listener lock couldn't be acquired on startup.
The maximum amount of time the runtime will try to acquire a lock.
The interval between lock acquisition attempts.
Configuration settings for the Functions host health monitor
Specifies whether the feature is enabled.
The time interval between the periodic background health checks
A sliding time window used in conjunction with the healthCheckThreshold setting.
Maximum number of times the health check can fail before a host recycle is initiated.
The threshold at which a performance counter will be considered unhealthy.
Configuration settings for 'http' triggers.
Defines the default route prefix that applies to all routes. Use an empty string to remove the prefix.
Defines the the maximum number of http functions that will execute in parallel.
Defines the maximum number of outstanding requests that will be held at any given time.
Indicates whether dynamic host counter checks should be enabled.
Configuration settings for Strict-Transport-Security
5 nested properties
Indicates whether the hsts configuration should be applied
Defines the list of host names that will not add the HSTS header.
Indicates whether the includeSubDomain parameter of the Strict-Transport-Security header should be enabled.
Defines the max-age parameter of the Strict-Transport-Security header.
Indicates whether the preload parameter of the Strict-Transport-Security header should be enabled.
Allows you to set custom headers in the HTTP response, ex. X-Content-Type-Options.
Configuration settings for 'queue' triggers.
The maximum interval in milliseconds between queue polls.
The number of queue messages to retrieve and process in parallel (per job function).
The number of times to try processing a message before moving it to the poison queue
The threshold at which a new batch of messages will be fetched. The default is batchSize/2.
The visibility timeout that will be applied to messages that fail processing.
Configuration settings for 'queue' triggers.
The maximum interval between queue polls. Minimum is 00:00:00.100 (100 ms).
The time interval between retries when processing of a message fails.
The number of queue messages that the Functions runtime retrieves simultaneously and processes in parallel. When the number being processed gets down to the newBatchThreshold, the runtime gets another batch and starts processing those messages. So the maximum number of concurrent messages being processed per function is batchSize plus newBatchThreshold. This limit applies separately to each queue-triggered function.
The number of times to try processing a message before moving it to the poison queue
The threshold at which a new batch of messages will be fetched. The default is batchSize/2.
This setting is only available in extension version 5.0.0 and higher. It represents the encoding format for messages.
Configuration settings for 'orchestration'/'activity' triggers.
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.
10 nested properties
The number of messages to pull from the control queue at a time.
The number of control queue messages that can be buffered in memory at a time, at which point the dispatcher will wait before dequeuing any additional messages.
The visibility timeout of dequeued control queue messages.
The maximum control and work-item queue polling interval in the hh:mm:ss format. Higher values can result in higher message processing latencies. Lower values can result in higher storage costs because of increased storage transactions.
The partition count for the control queue. May be a positive integer between 1 and 16.
The name of a connection string to use for the History and Instances tables. If not specified, the azureStorageConnectionStringName connection is used.
The prefix to use for the History and Instances tables when trackingStoreConnectionStringName is specified. If not set, the default prefix value will be DurableTask. 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.
When set to false, uses a partition management algorithm that reduces the possibility of duplicate function execution when scaling out.
The visibility timeout of dequeued work item queue messages.
4 nested properties
A value indicating whether to trace the inputs and outputs of function calls. The default behavior when tracing function execution events is to include the number of bytes in the serialized inputs and outputs for function calls. This behavior provides minimal information about what the inputs and outputs look like without bloating the logs or inadvertently exposing sensitive information. Setting this property to true causes the default function logging to log the entire contents of function inputs and outputs.
A value indicating whether to write orchestration replay events to Application Insights.
Distributed tracing tracks requests and shows how different services interact with each other and correlates orchestrations, entities, and activities together.
Distributed tracing version
1 nested properties
5 nested properties
The URL of an Azure Event Grid custom topic endpoint. When this property is set, orchestration life-cycle notification events are published to this endpoint. This property supports App Settings resolution.
The name of the app setting containing the key used for authenticating with the Azure Event Grid custom topic at EventGridTopicEndpoint.
The number of times to retry if publishing to the Event Grid Topic fails.
The Event Grid publishes retry interval in the hh:mm:ss format.
A list of event types to publish to Event Grid. If not specified, all event types will be published.
The maximum number of activity functions that can be processed concurrently on a single host instance.
The maximum number of orchestrator functions that can be processed concurrently on a single host instance.
When set to true, apps will require acquiring an app-level blob lease before processing task hub messages.
Enable gracefully shutting down to reduce the chance of host shutdowns failing in-process function executions.
The maximum number of entity operations that are processed as a batch. If set to 1, batching is disabled, and each operation message is processed by a separate function invocation.
Configuration settings for Azure Cosmos DB bindings and triggers.
ConnectionMode to be used on the DocumentClients.
Protocol to be used on the DocumentClients.
Configuration settings for Azure Cosmos DB bindings and triggers.
ConnectionMode to be used on the DocumentClients.
Protocol to be used on the DocumentClients.
1 nested properties
Lease prefix to use across all functions in an app.
Configuration settings for 'mcp' triggers.
Describes to clients how to access the remote MCP server.
A friendly name for the remote MCP server.
Current version of the remote MCP server.
Determines if client state is encrypted. Defaults to true. Setting to false may be useful for debugging and test scenarios but isn't recommended for production.
COptions object for the message endpoint in the SSE transport.
1 nested properties
If set to false, the message endpoint is provided as a relative URI during initial connections over the SSE transport. If set to true, the message endpoint is returned as an absolute URI. Using a relative URI isn't recommended unless you have a specific reason to do so.
COptions object for the message endpoint in the SSE transport.
1 nested properties
Defines the authorization level required for the webhook endpoint. Defaults to "System". Allowed values are "System" and "Anonymous". When you set the value to "Anonymous", an access key is no longer required for requests.
Configuration settings for the function result aggregator.
2 nested properties
The maximum batch size for aggregations. If this value is reached before the 'flushTimeout', all values will be flushed.
The aggregation duration. The aggregator will flush periodically based on this value.
Configuration settings for Application Insights logging.
1 nested properties
Configuration settings for Application Insights client-side adaptive sampling.
2 nested properties
If true, client-side adaptive sampling is enabled.
The target rate that the adaptive algorithm aims for on each instance
Value indicating the timeout duration for all functions.
Configuration settings for the Functions host health monitor
5 nested properties
Specifies whether the feature is enabled.
The time interval between the periodic background health checks
A sliding time window used in conjunction with the healthCheckThreshold setting.
Maximum number of times the health check can fail before a host recycle is initiated.
The threshold at which a performance counter will be considered unhealthy.
The unique ID for this job host. Can be a lower case GUID with dashes removed
Configuration settings for logging.
2 nested properties
The default level for logging. If a category level is not specified, this value is used.
Log levels for specific categories.
Configuration settings for Singleton lock behavior.
5 nested properties
The period that function level locks are taken for (they will auto renew).
The period that listener locks are taken for.
The time interval used for listener lock recovery if a listener lock couldn't be acquired on startup.
The maximum amount of time the runtime will try to acquire a lock.
The interval between lock acquisition attempts.
Set of shared code directories that should be monitored for changes to ensure that when code in these directories is changed, it is picked up by your functions
Configuration settings for logging/tracing behavior.
2 nested properties
The tracing level used for console logging.
Value determining what level of file logging is enabled.
Configuration settings for 'http' triggers.
6 nested properties
Defines the default route prefix that applies to all routes. Use an empty string to remove the prefix.
Defines the the maximum number of http functions that will execute in parallel.
Defines the maximum number of outstanding requests that will be held at any given time.
Indicates whether dynamic host counter checks should be enabled.
Configuration settings for Strict-Transport-Security
5 nested properties
Indicates whether the hsts configuration should be applied
Defines the list of host names that will not add the HSTS header.
Indicates whether the includeSubDomain parameter of the Strict-Transport-Security header should be enabled.
Defines the max-age parameter of the Strict-Transport-Security header.
Indicates whether the preload parameter of the Strict-Transport-Security header should be enabled.
Allows you to set custom headers in the HTTP response, ex. X-Content-Type-Options.
Configuration settings for 'queue' triggers.
5 nested properties
The maximum interval in milliseconds between queue polls.
The number of queue messages to retrieve and process in parallel (per job function).
The number of times to try processing a message before moving it to the poison queue
The threshold at which a new batch of messages will be fetched. The default is batchSize/2.
The visibility timeout that will be applied to messages that fail processing.
Configuration settings for 'serviceBus' triggers.
4 nested properties
The maximum number of concurrent calls to the callback the message pump should initiate.
The default PrefetchCount that will be used by the underlying MessageReceiver.
The maximum duration within which the Service Bus message lock will be renewed automatically.
Specifies whether messages should be automatically completed after successful processing.
Configuration settings for 'eventHub' triggers.
3 nested properties
The maximum event count received per receive loop.
The default PrefetchCount that will be used by the underlying EventProcessorHost.
The number of batches to process before creating an EventHub cursor checkpoint
Configuration settings for 'orchestration'/'activity' triggers.
12 nested properties
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.
10 nested properties
The number of messages to pull from the control queue at a time.
The number of control queue messages that can be buffered in memory at a time, at which point the dispatcher will wait before dequeuing any additional messages.
The visibility timeout of dequeued control queue messages.
The maximum control and work-item queue polling interval in the hh:mm:ss format. Higher values can result in higher message processing latencies. Lower values can result in higher storage costs because of increased storage transactions.
The partition count for the control queue. May be a positive integer between 1 and 16.
The name of a connection string to use for the History and Instances tables. If not specified, the azureStorageConnectionStringName connection is used.
The prefix to use for the History and Instances tables when trackingStoreConnectionStringName is specified. If not set, the default prefix value will be DurableTask. 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.
When set to false, uses a partition management algorithm that reduces the possibility of duplicate function execution when scaling out.
The visibility timeout of dequeued work item queue messages.
4 nested properties
A value indicating whether to trace the inputs and outputs of function calls. The default behavior when tracing function execution events is to include the number of bytes in the serialized inputs and outputs for function calls. This behavior provides minimal information about what the inputs and outputs look like without bloating the logs or inadvertently exposing sensitive information. Setting this property to true causes the default function logging to log the entire contents of function inputs and outputs.
A value indicating whether to write orchestration replay events to Application Insights.
Distributed tracing tracks requests and shows how different services interact with each other and correlates orchestrations, entities, and activities together.
Distributed tracing version
1 nested properties
The maximum number of activity functions that can be processed concurrently on a single host instance.
The maximum number of orchestrator functions that can be processed concurrently on a single host instance.
When set to true, apps will require acquiring an app-level blob lease before processing task hub messages.
Enable gracefully shutting down to reduce the chance of host shutdowns failing in-process function executions.
The maximum number of entity operations that are processed as a batch. If set to 1, batching is disabled, and each operation message is processed by a separate function invocation.
Configuration settings for Azure Cosmos DB bindings and triggers.
2 nested properties
ConnectionMode to be used on the DocumentClients.
Protocol to be used on the DocumentClients.
{ "version": "2.0", "configurationProfile": "sample-profile", "logging": { "applicationInsights": { "samplingSettings": { "isEnabled": true, "excludedTypes": "Request" } } }, "extensionBundle": { "id": "Microsoft.Azure.Functions.ExtensionBundle", "version": "[4.*, 5.0.0)" } }
The version of the Azure Functions host.json schema. This is NOT the version of the Azure Functions host.
Configuration settings for extension bundle - a predefined set of compatible binding extensions to a function app
2 nested properties
The id of the extension bundle
The version of the extension bundle.
Configuration settings for the function result aggregator.
2 nested properties
The maximum batch size for aggregations. If this value is reached before the 'flushTimeout', all values will be flushed.
The aggregation duration. The aggregator will flush periodically based on this value.
Value indicating the timeout duration for all functions.
Configuration settings for the Functions host health monitor
5 nested properties
Specifies whether the feature is enabled.
The time interval between the periodic background health checks
A sliding time window used in conjunction with the healthCheckThreshold setting.
Maximum number of times the health check can fail before a host recycle is initiated.
The threshold at which a performance counter will be considered unhealthy.
Configuration settings for Language Workers.
1 nested properties
Specifies full path of the directory for language workers
Configuration settings for logging.
3 nested properties
Log levels for specific categories.
1 nested properties
The default level for logging. If a category level is not specified, this value is used.
Configuration settings for Application Insights logging.
8 nested properties
Configuration settings for Application Insights client-side adaptive sampling.
Enables live metrics collection.
Enables live metrics filters.
Enables dependency tracking
Enables Kudu performance counters collection.
Enables optimization that bypasses custom dimensions in Metrics telemetry.
Value determining what level of file logging is enabled.
Managed dependency is a feature that is currently only supported with PowerShell based functions. It enables dependencies to be automatically managed by the service.
1 nested properties
If true, the requirements.psd1 file is processed
Retry policy of function execution failures at the app level. Retry policy applies to all the functions in the function app.
5 nested properties
Retry strategy to use for retrying function executions
The maximum number of retries allowed per function execution. -1 means to retry indefinitely.
Value indicating the delayInterval for function execution retries when using FixedDelay strategy.
Value indicating the minimumInterval for function execution retries when using ExponentialBackoff strategy.
Value indicating the maximumInterval for function execution retries when using ExponentialBackoff strategy.
Configuration settings for Custom Handler.
3 nested properties
Configuration settings for Custom Handler process
3 nested properties
Name or path to the Custom Handler process
WorkingDirectory to be used by the Custom Handler process. If not set, defaults to function app root folder.
Arguments to be passed to the Custom Handler process. Can use environment variables following pattern %envVarName%
Forward HttpTrigger request to the custom handler
Proxy HttpTrigger request to the custom handler
Configuration settings for Singleton lock behavior.
5 nested properties
The period that function level locks are taken for (they will auto renew).
The period that listener locks are taken for.
The time interval used for listener lock recovery if a listener lock couldn't be acquired on startup.
The maximum amount of time the runtime will try to acquire a lock.
The interval between lock acquisition attempts.
Set of shared code directories that should be monitored for changes to ensure that when code in these directories is changed, it is picked up by your functions
An array of one or more names of files that are monitored for changes that require your app to restart. This guarantees that when code in these files are changed, the updates are picked up by your functions
9 nested properties
Configuration settings for 'http' triggers.
6 nested properties
Defines the default route prefix that applies to all routes. Use an empty string to remove the prefix.
Defines the the maximum number of http functions that will execute in parallel.
Defines the maximum number of outstanding requests that will be held at any given time.
Indicates whether dynamic host counter checks should be enabled.
Configuration settings for Strict-Transport-Security
Allows you to set custom headers in the HTTP response, ex. X-Content-Type-Options.
Configuration settings for 'queue' triggers.
6 nested properties
The maximum interval between queue polls. Minimum is 00:00:00.100 (100 ms).
The time interval between retries when processing of a message fails.
The number of queue messages that the Functions runtime retrieves simultaneously and processes in parallel. When the number being processed gets down to the newBatchThreshold, the runtime gets another batch and starts processing those messages. So the maximum number of concurrent messages being processed per function is batchSize plus newBatchThreshold. This limit applies separately to each queue-triggered function.
The number of times to try processing a message before moving it to the poison queue
The threshold at which a new batch of messages will be fetched. The default is batchSize/2.
This setting is only available in extension version 5.0.0 and higher. It represents the encoding format for messages.
1 nested properties
The sender's email address across all functions.
Configuration settings for 'serviceBus' triggers.
Configuration settings for 'eventHub' triggers.
Configuration settings for 'orchestration'/'activity' triggers.
12 nested properties
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.
The maximum number of activity functions that can be processed concurrently on a single host instance.
The maximum number of orchestrator functions that can be processed concurrently on a single host instance.
When set to true, apps will require acquiring an app-level blob lease before processing task hub messages.
Enable gracefully shutting down to reduce the chance of host shutdowns failing in-process function executions.
The maximum number of entity operations that are processed as a batch. If set to 1, batching is disabled, and each operation message is processed by a separate function invocation.
Configuration settings for Azure Cosmos DB bindings and triggers.
3 nested properties
ConnectionMode to be used on the DocumentClients.
Protocol to be used on the DocumentClients.
2 nested properties
The number of concurrent invocations allowed for each blob-triggered function.
The number of times to try processing a message before moving it to the poison queue.
Configuration settings for 'mcp' triggers.
6 nested properties
Describes to clients how to access the remote MCP server.
A friendly name for the remote MCP server.
Current version of the remote MCP server.
Determines if client state is encrypted. Defaults to true. Setting to false may be useful for debugging and test scenarios but isn't recommended for production.
COptions object for the message endpoint in the SSE transport.
COptions object for the message endpoint in the SSE transport.
Configuration settings for dynamic concurrency
2 nested properties
Enables or disables dynamic concurrency for function apps.
Enables or disables the learned concurrency values persisting in storage.
Where the language worker supports 'Cancellation', send canceled invocations to the worker. If not set, defaults to true.
Used to enable output of logs and traces in an OpenTelemetry output format to one or more endpoints that support OpenTelemetry.
Configuration profile to use for the Function App. Settings defined by the configuration profile will be implicitly applied to the Function App.