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
Type: object

One of

1. version-1 object
2. version-2 object

Definitions

aggregator object

Configuration settings for the function result aggregator.

batchSize integer

The maximum batch size for aggregations. If this value is reached before the 'flushTimeout', all values will be flushed.

Default: 1000
flushTimeout

The aggregation duration. The aggregator will flush periodically based on this value.

Default: "00:00:30"
pattern=^(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d$
functions string[]

The list of functions the host should load.

functionTimeout string | enum

Value indicating the timeout duration for all functions.

watchDirectories string[]

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

singleton object

Configuration settings for Singleton lock behavior.

lockPeriod

The period that function level locks are taken for (they will auto renew).

Default: "00:00:15"
pattern=^(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d$
listenerLockPeriod

The period that listener locks are taken for.

Default: "00:01:00"
pattern=^(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d$
listenerLockRecoveryPollingInterval

The time interval used for listener lock recovery if a listener lock couldn't be acquired on startup.

Default: "00:01:00"
pattern=^(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d$
lockAcquisitionTimeout

The maximum amount of time the runtime will try to acquire a lock.

Default: "00:01:00"
pattern=^(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d$
lockAcquisitionPollingInterval

The interval between lock acquisition attempts.

pattern=^(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d$
healthMonitor object

Configuration settings for the Functions host health monitor

enabled boolean

Specifies whether the feature is enabled.

Default: true
healthCheckInterval

The time interval between the periodic background health checks

Default: "00:00:10"
pattern=^(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d$
healthCheckWindow

A sliding time window used in conjunction with the healthCheckThreshold setting.

Default: "00:02:00"
pattern=^(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d$
healthCheckThreshold integer

Maximum number of times the health check can fail before a host recycle is initiated.

Default: 6
counterThreshold number

The threshold at which a performance counter will be considered unhealthy.

Default: 0.8
http-extension object

Configuration settings for 'http' triggers.

routePrefix string required

Defines the default route prefix that applies to all routes. Use an empty string to remove the prefix.

Default: "api"
maxConcurrentRequests integer

Defines the the maximum number of http functions that will execute in parallel.

Default: -1
maxOutstandingRequests integer

Defines the maximum number of outstanding requests that will be held at any given time.

Default: -1
dynamicThrottlesEnabled boolean

Indicates whether dynamic host counter checks should be enabled.

Default: false
hsts object

Configuration settings for Strict-Transport-Security

5 nested properties
isEnabled boolean

Indicates whether the hsts configuration should be applied

excludedHosts string[]

Defines the list of host names that will not add the HSTS header.

uniqueItems=true
includeSubDomains boolean

Indicates whether the includeSubDomain parameter of the Strict-Transport-Security header should be enabled.

maxAge string

Defines the max-age parameter of the Strict-Transport-Security header.

preload boolean

Indicates whether the preload parameter of the Strict-Transport-Security header should be enabled.

customHeaders object

Allows you to set custom headers in the HTTP response, ex. X-Content-Type-Options.

queues-extension object

Configuration settings for 'queue' triggers.

maxPollingInterval integer

The maximum interval in milliseconds between queue polls.

Default: 1000
batchSize integer

The number of queue messages to retrieve and process in parallel (per job function).

Default: 16
min=1max=32
maxDequeueCount integer

The number of times to try processing a message before moving it to the poison queue

Default: 5
newBatchThreshold integer

The threshold at which a new batch of messages will be fetched. The default is batchSize/2.

visibilityTimeout

The visibility timeout that will be applied to messages that fail processing.

Default: "00:00:00"
pattern=^(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d$
queues-extension-v2 object

Configuration settings for 'queue' triggers.

maxPollingInterval string

The maximum interval between queue polls. Minimum is 00:00:00.100 (100 ms).

Default: "00:00:02"
pattern=^[0-9][0-9]:[0-9][0-9]:[0-9][0-9](?:\.[0-9]+)?$
visibilityTimeout string

The time interval between retries when processing of a message fails.

Default: "00:00:00"
pattern=^[0-9][0-9]:[0-9][0-9]:[0-9][0-9](?:\.[0-9]+)?$
batchSize integer

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.

Default: 16
min=1max=32
maxDequeueCount integer

The number of times to try processing a message before moving it to the poison queue

Default: 5
newBatchThreshold integer

The threshold at which a new batch of messages will be fetched. The default is batchSize/2.

messageEncoding string

This setting is only available in extension version 5.0.0 and higher. It represents the encoding format for messages.

Values: "base64" "none"
durableTask-extension object

Configuration settings for 'orchestration'/'activity' triggers.

hubName string

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.

Default: "DurableFunctionsHub"
storageProvider object
10 nested properties
connectionStringName string
controlQueueBatchSize integer

The number of messages to pull from the control queue at a time.

Default: 32
controlQueueBufferThreshold integer

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.

Default: 256
controlQueueVisibilityTimeout string

The visibility timeout of dequeued control queue messages.

Default: "00:05:00"
maxQueuePollingInterval string

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.

Default: "00:00:30"
partitionCount integer

The partition count for the control queue. May be a positive integer between 1 and 16.

Default: 4
trackingStoreConnectionStringName string

The name of a connection string to use for the History and Instances tables. If not specified, the azureStorageConnectionStringName connection is used.

trackingStoreNamePrefix string

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.

useLegacyPartitionManagement boolean

When set to false, uses a partition management algorithm that reduces the possibility of duplicate function execution when scaling out.

Default: false
workItemQueueVisibilityTimeout string

The visibility timeout of dequeued work item queue messages.

Default: "00:05:00"
tracing object
4 nested properties
traceInputsAndOutputs boolean

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.

Default: false
traceReplayEvents boolean

A value indicating whether to write orchestration replay events to Application Insights.

Default: false
distributedTracingEnabled boolean

Distributed tracing tracks requests and shows how different services interact with each other and correlates orchestrations, entities, and activities together.

Default: false
version const: "None" | const: "V1" | const: "V2"

Distributed tracing version

Default: "V2"
notifications object
1 nested properties
eventGrid object
5 nested properties
topicEndpoint string

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.

keySettingName string

The name of the app setting containing the key used for authenticating with the Azure Event Grid custom topic at EventGridTopicEndpoint.

publishRetryCount integer

The number of times to retry if publishing to the Event Grid Topic fails.

Default: 0
publishRetryInterval string

The Event Grid publishes retry interval in the hh:mm:ss format.

Default: "00:05:00"
publishEventTypes string[]

A list of event types to publish to Event Grid. If not specified, all event types will be published.

uniqueItems=true
maxConcurrentActivityFunctions integer

The maximum number of activity functions that can be processed concurrently on a single host instance.

Default: 10
maxConcurrentOrchestratorFunctions integer

The maximum number of orchestrator functions that can be processed concurrently on a single host instance.

Default: 10
extendedSessionsEnabled boolean
extendedSessionIdleTimeoutInSeconds integer
useAppLease boolean

When set to true, apps will require acquiring an app-level blob lease before processing task hub messages.

Default: true
useGracefulShutdown boolean

Enable gracefully shutting down to reduce the chance of host shutdowns failing in-process function executions.

Default: false
maxEntityOperationBatchSize integer

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.

Default: 50
useTablePartitionManagement boolean
Default: false
cosmosDB-extension object

Configuration settings for Azure Cosmos DB bindings and triggers.

connectionMode enum

ConnectionMode to be used on the DocumentClients.

Default: "Gateway"
Values: "Gateway" "Direct"
protocol enum

Protocol to be used on the DocumentClients.

Default: "Https"
Values: "Https" "Tcp"
cosmosDB-extension-v2 object

Configuration settings for Azure Cosmos DB bindings and triggers.

connectionMode enum

ConnectionMode to be used on the DocumentClients.

Default: "Gateway"
Values: "Gateway" "Direct"
protocol enum

Protocol to be used on the DocumentClients.

Default: "Https"
Values: "Https" "Tcp"
leaseOptions object
1 nested properties
leasePrefix string

Lease prefix to use across all functions in an app.

mcp-extension object

Configuration settings for 'mcp' triggers.

instructions string

Describes to clients how to access the remote MCP server.

serverName string

A friendly name for the remote MCP server.

serverVersion string

Current version of the remote MCP server.

encryptClientState boolean

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.

Default: true
messageOptions object

COptions object for the message endpoint in the SSE transport.

1 nested properties
useAbsoluteUriForEndpoint boolean

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.

Default: false
system object

COptions object for the message endpoint in the SSE transport.

1 nested properties
webhookAuthorizationLevel enum

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.

Default: "System"
Values: "System" "Anonymous"
version-1 object
aggregator object

Configuration settings for the function result aggregator.

2 nested properties
batchSize integer

The maximum batch size for aggregations. If this value is reached before the 'flushTimeout', all values will be flushed.

Default: 1000
flushTimeout

The aggregation duration. The aggregator will flush periodically based on this value.

Default: "00:00:30"
pattern=^(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d$
applicationInsights object

Configuration settings for Application Insights logging.

1 nested properties
sampling object

Configuration settings for Application Insights client-side adaptive sampling.

2 nested properties
isEnabled boolean

If true, client-side adaptive sampling is enabled.

Default: true
maxTelemetryItemsPerSecond integer

The target rate that the adaptive algorithm aims for on each instance

Default: 5
functions string[]

The list of functions the host should load.

uniqueItems=true
functionTimeout string | enum

Value indicating the timeout duration for all functions.

healthMonitor object

Configuration settings for the Functions host health monitor

5 nested properties
enabled boolean

Specifies whether the feature is enabled.

Default: true
healthCheckInterval

The time interval between the periodic background health checks

Default: "00:00:10"
pattern=^(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d$
healthCheckWindow

A sliding time window used in conjunction with the healthCheckThreshold setting.

Default: "00:02:00"
pattern=^(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d$
healthCheckThreshold integer

Maximum number of times the health check can fail before a host recycle is initiated.

Default: 6
counterThreshold number

The threshold at which a performance counter will be considered unhealthy.

Default: 0.8
id string

The unique ID for this job host. Can be a lower case GUID with dashes removed

minLength=1
logger object

Configuration settings for logging.

2 nested properties
defaultLevel enum

The default level for logging. If a category level is not specified, this value is used.

Default: "Information"
Values: "Critical" "Debug" "Error" "Information" "None" "Trace" "Warning"
categoryLevels Record<string, enum>

Log levels for specific categories.

singleton object

Configuration settings for Singleton lock behavior.

5 nested properties
lockPeriod

The period that function level locks are taken for (they will auto renew).

Default: "00:00:15"
pattern=^(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d$
listenerLockPeriod

The period that listener locks are taken for.

Default: "00:01:00"
pattern=^(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d$
listenerLockRecoveryPollingInterval

The time interval used for listener lock recovery if a listener lock couldn't be acquired on startup.

Default: "00:01:00"
pattern=^(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d$
lockAcquisitionTimeout

The maximum amount of time the runtime will try to acquire a lock.

Default: "00:01:00"
pattern=^(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d$
lockAcquisitionPollingInterval

The interval between lock acquisition attempts.

pattern=^(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d$
watchDirectories string[]

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

uniqueItems=true
tracing object

Configuration settings for logging/tracing behavior.

2 nested properties
consoleLevel enum

The tracing level used for console logging.

Default: "verbose"
Values: "off" "error" "warning" "info" "verbose"
fileLoggingMode enum

Value determining what level of file logging is enabled.

Default: "debugOnly"
Values: "never" "always" "debugOnly"
http object

Configuration settings for 'http' triggers.

6 nested properties
routePrefix string required

Defines the default route prefix that applies to all routes. Use an empty string to remove the prefix.

Default: "api"
maxConcurrentRequests integer

Defines the the maximum number of http functions that will execute in parallel.

Default: -1
maxOutstandingRequests integer

Defines the maximum number of outstanding requests that will be held at any given time.

Default: -1
dynamicThrottlesEnabled boolean

Indicates whether dynamic host counter checks should be enabled.

Default: false
hsts object

Configuration settings for Strict-Transport-Security

5 nested properties
isEnabled boolean

Indicates whether the hsts configuration should be applied

excludedHosts string[]

Defines the list of host names that will not add the HSTS header.

uniqueItems=true
includeSubDomains boolean

Indicates whether the includeSubDomain parameter of the Strict-Transport-Security header should be enabled.

maxAge string

Defines the max-age parameter of the Strict-Transport-Security header.

preload boolean

Indicates whether the preload parameter of the Strict-Transport-Security header should be enabled.

customHeaders object

Allows you to set custom headers in the HTTP response, ex. X-Content-Type-Options.

queues object

Configuration settings for 'queue' triggers.

5 nested properties
maxPollingInterval integer

The maximum interval in milliseconds between queue polls.

Default: 1000
batchSize integer

The number of queue messages to retrieve and process in parallel (per job function).

Default: 16
min=1max=32
maxDequeueCount integer

The number of times to try processing a message before moving it to the poison queue

Default: 5
newBatchThreshold integer

The threshold at which a new batch of messages will be fetched. The default is batchSize/2.

visibilityTimeout

The visibility timeout that will be applied to messages that fail processing.

Default: "00:00:00"
pattern=^(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d$
serviceBus object

Configuration settings for 'serviceBus' triggers.

4 nested properties
maxConcurrentCalls integer

The maximum number of concurrent calls to the callback the message pump should initiate.

Default: 16
prefetchCount integer

The default PrefetchCount that will be used by the underlying MessageReceiver.

autoRenewTimeout string

The maximum duration within which the Service Bus message lock will be renewed automatically.

Default: "00:05:00"
pattern=^(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d$
autoComplete boolean

Specifies whether messages should be automatically completed after successful processing.

Default: true
eventHub object

Configuration settings for 'eventHub' triggers.

3 nested properties
maxBatchSize integer

The maximum event count received per receive loop.

prefetchCount integer

The default PrefetchCount that will be used by the underlying EventProcessorHost.

batchCheckpointFrequency integer

The number of batches to process before creating an EventHub cursor checkpoint

Default: 1
durableTask object

Configuration settings for 'orchestration'/'activity' triggers.

12 nested properties
hubName string

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.

Default: "DurableFunctionsHub"
storageProvider object
10 nested properties
connectionStringName string
controlQueueBatchSize integer

The number of messages to pull from the control queue at a time.

Default: 32
controlQueueBufferThreshold integer

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.

Default: 256
controlQueueVisibilityTimeout string

The visibility timeout of dequeued control queue messages.

Default: "00:05:00"
maxQueuePollingInterval string

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.

Default: "00:00:30"
partitionCount integer

The partition count for the control queue. May be a positive integer between 1 and 16.

Default: 4
trackingStoreConnectionStringName string

The name of a connection string to use for the History and Instances tables. If not specified, the azureStorageConnectionStringName connection is used.

trackingStoreNamePrefix string

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.

useLegacyPartitionManagement boolean

When set to false, uses a partition management algorithm that reduces the possibility of duplicate function execution when scaling out.

Default: false
workItemQueueVisibilityTimeout string

The visibility timeout of dequeued work item queue messages.

Default: "00:05:00"
tracing object
4 nested properties
traceInputsAndOutputs boolean

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.

Default: false
traceReplayEvents boolean

A value indicating whether to write orchestration replay events to Application Insights.

Default: false
distributedTracingEnabled boolean

Distributed tracing tracks requests and shows how different services interact with each other and correlates orchestrations, entities, and activities together.

Default: false
version const: "None" | const: "V1" | const: "V2"

Distributed tracing version

Default: "V2"
notifications object
1 nested properties
eventGrid object
maxConcurrentActivityFunctions integer

The maximum number of activity functions that can be processed concurrently on a single host instance.

Default: 10
maxConcurrentOrchestratorFunctions integer

The maximum number of orchestrator functions that can be processed concurrently on a single host instance.

Default: 10
extendedSessionsEnabled boolean
extendedSessionIdleTimeoutInSeconds integer
useAppLease boolean

When set to true, apps will require acquiring an app-level blob lease before processing task hub messages.

Default: true
useGracefulShutdown boolean

Enable gracefully shutting down to reduce the chance of host shutdowns failing in-process function executions.

Default: false
maxEntityOperationBatchSize integer

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.

Default: 50
useTablePartitionManagement boolean
Default: false
documentDB object

Configuration settings for Azure Cosmos DB bindings and triggers.

2 nested properties
connectionMode enum

ConnectionMode to be used on the DocumentClients.

Default: "Gateway"
Values: "Gateway" "Direct"
protocol enum

Protocol to be used on the DocumentClients.

Default: "Https"
Values: "Https" "Tcp"
version-2 object
Examples:
  • { "version": "2.0", "configurationProfile": "sample-profile", "logging": { "applicationInsights": { "samplingSettings": { "isEnabled": true, "excludedTypes": "Request" } } }, "extensionBundle": { "id": "Microsoft.Azure.Functions.ExtensionBundle", "version": "[4.*, 5.0.0)" } }
version enum required

The version of the Azure Functions host.json schema. This is NOT the version of the Azure Functions host.

Values: "2.0"
extensionBundle object

Configuration settings for extension bundle - a predefined set of compatible binding extensions to a function app

Examples: {"id":"Microsoft.Azure.Functions.ExtensionBundle","version":"[4.*, 5.0.0)"}, {"id":"Microsoft.Azure.Functions.ExtensionBundle.Preview","version":"[4.*, 5.0.0)"}
2 nested properties
id string

The id of the extension bundle

Default: "Microsoft.Azure.Functions.ExtensionBundle"
version string

The version of the extension bundle.

Default: "[4.*, 5.0.0)"
Examples: "[4.*, 5.0.0)"
aggregator object

Configuration settings for the function result aggregator.

2 nested properties
batchSize integer

The maximum batch size for aggregations. If this value is reached before the 'flushTimeout', all values will be flushed.

Default: 1000
flushTimeout

The aggregation duration. The aggregator will flush periodically based on this value.

Default: "00:00:30"
pattern=^(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d$
functions string[]

The list of functions the host should load.

uniqueItems=true
functionTimeout string | enum

Value indicating the timeout duration for all functions.

healthMonitor object

Configuration settings for the Functions host health monitor

5 nested properties
enabled boolean

Specifies whether the feature is enabled.

Default: true
healthCheckInterval

The time interval between the periodic background health checks

Default: "00:00:10"
pattern=^(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d$
healthCheckWindow

A sliding time window used in conjunction with the healthCheckThreshold setting.

Default: "00:02:00"
pattern=^(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d$
healthCheckThreshold integer

Maximum number of times the health check can fail before a host recycle is initiated.

Default: 6
counterThreshold number

The threshold at which a performance counter will be considered unhealthy.

Default: 0.8
languageWorker object

Configuration settings for Language Workers.

1 nested properties
workersDirectory string

Specifies full path of the directory for language workers

logging object

Configuration settings for logging.

3 nested properties
logLevel Record<string, enum>

Log levels for specific categories.

1 nested properties
default enum

The default level for logging. If a category level is not specified, this value is used.

Default: "Information"
Values: "Critical" "Debug" "Error" "Information" "None" "Trace" "Warning"
applicationInsights object

Configuration settings for Application Insights logging.

Examples: {"samplingSettings":{"isEnabled":true,"excludedTypes":"Request"}}
8 nested properties
samplingSettings object

Configuration settings for Application Insights client-side adaptive sampling.

enableLiveMetrics boolean

Enables live metrics collection.

Default: true
enableLiveMetricsFilters boolean

Enables live metrics filters.

Default: true
enableDependencyTracking boolean

Enables dependency tracking

Default: true
enablePerformanceCountersCollection boolean

Enables Kudu performance counters collection.

Default: true
enableMetricsCustomDimensionOptimization boolean

Enables optimization that bypasses custom dimensions in Metrics telemetry.

Default: false
httpAutoCollectionOptions object
snapshotConfiguration object
fileLoggingMode enum

Value determining what level of file logging is enabled.

Default: "debugOnly"
Values: "never" "always" "debugOnly"
managedDependency object

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
enabled boolean

If true, the requirements.psd1 file is processed

Default: true
retry object

Retry policy of function execution failures at the app level. Retry policy applies to all the functions in the function app.

5 nested properties
strategy enum

Retry strategy to use for retrying function executions

Default: "exponentialBackoff"
Values: "exponentialBackoff" "fixedDelay"
maxRetryCount integer

The maximum number of retries allowed per function execution. -1 means to retry indefinitely.

delayInterval string | enum

Value indicating the delayInterval for function execution retries when using FixedDelay strategy.

minimumInterval string | enum

Value indicating the minimumInterval for function execution retries when using ExponentialBackoff strategy.

maximumInterval string | enum

Value indicating the maximumInterval for function execution retries when using ExponentialBackoff strategy.

customHandler object

Configuration settings for Custom Handler.

3 nested properties
description object

Configuration settings for Custom Handler process

3 nested properties
defaultExecutablePath string

Name or path to the Custom Handler process

workingDirectory string

WorkingDirectory to be used by the Custom Handler process. If not set, defaults to function app root folder.

arguments string[]

Arguments to be passed to the Custom Handler process. Can use environment variables following pattern %envVarName%

enableForwardingHttpRequest boolean

Forward HttpTrigger request to the custom handler

Default: false
enableProxyingHttpRequest boolean

Proxy HttpTrigger request to the custom handler

Default: false
singleton object

Configuration settings for Singleton lock behavior.

5 nested properties
lockPeriod

The period that function level locks are taken for (they will auto renew).

Default: "00:00:15"
pattern=^(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d$
listenerLockPeriod

The period that listener locks are taken for.

Default: "00:01:00"
pattern=^(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d$
listenerLockRecoveryPollingInterval

The time interval used for listener lock recovery if a listener lock couldn't be acquired on startup.

Default: "00:01:00"
pattern=^(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d$
lockAcquisitionTimeout

The maximum amount of time the runtime will try to acquire a lock.

Default: "00:01:00"
pattern=^(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d$
lockAcquisitionPollingInterval

The interval between lock acquisition attempts.

pattern=^(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d$
watchDirectories string[]

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

uniqueItems=true
watchFiles string[]

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

uniqueItems=true
extensions object
9 nested properties
http object

Configuration settings for 'http' triggers.

6 nested properties
routePrefix string required

Defines the default route prefix that applies to all routes. Use an empty string to remove the prefix.

Default: "api"
maxConcurrentRequests integer

Defines the the maximum number of http functions that will execute in parallel.

Default: -1
maxOutstandingRequests integer

Defines the maximum number of outstanding requests that will be held at any given time.

Default: -1
dynamicThrottlesEnabled boolean

Indicates whether dynamic host counter checks should be enabled.

Default: false
hsts object

Configuration settings for Strict-Transport-Security

customHeaders object

Allows you to set custom headers in the HTTP response, ex. X-Content-Type-Options.

queues object

Configuration settings for 'queue' triggers.

6 nested properties
maxPollingInterval string

The maximum interval between queue polls. Minimum is 00:00:00.100 (100 ms).

Default: "00:00:02"
pattern=^[0-9][0-9]:[0-9][0-9]:[0-9][0-9](?:\.[0-9]+)?$
visibilityTimeout string

The time interval between retries when processing of a message fails.

Default: "00:00:00"
pattern=^[0-9][0-9]:[0-9][0-9]:[0-9][0-9](?:\.[0-9]+)?$
batchSize integer

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.

Default: 16
min=1max=32
maxDequeueCount integer

The number of times to try processing a message before moving it to the poison queue

Default: 5
newBatchThreshold integer

The threshold at which a new batch of messages will be fetched. The default is batchSize/2.

messageEncoding string

This setting is only available in extension version 5.0.0 and higher. It represents the encoding format for messages.

Values: "base64" "none"
sendGrid object
1 nested properties
from string

The sender's email address across all functions.

serviceBus object | object

Configuration settings for 'serviceBus' triggers.

Default: null
eventHubs object | object | object

Configuration settings for 'eventHub' triggers.

durableTask object

Configuration settings for 'orchestration'/'activity' triggers.

12 nested properties
hubName string

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.

Default: "DurableFunctionsHub"
storageProvider object
tracing object
notifications object
maxConcurrentActivityFunctions integer

The maximum number of activity functions that can be processed concurrently on a single host instance.

Default: 10
maxConcurrentOrchestratorFunctions integer

The maximum number of orchestrator functions that can be processed concurrently on a single host instance.

Default: 10
extendedSessionsEnabled boolean
extendedSessionIdleTimeoutInSeconds integer
useAppLease boolean

When set to true, apps will require acquiring an app-level blob lease before processing task hub messages.

Default: true
useGracefulShutdown boolean

Enable gracefully shutting down to reduce the chance of host shutdowns failing in-process function executions.

Default: false
maxEntityOperationBatchSize integer

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.

Default: 50
useTablePartitionManagement boolean
Default: false
cosmosDB object

Configuration settings for Azure Cosmos DB bindings and triggers.

3 nested properties
connectionMode enum

ConnectionMode to be used on the DocumentClients.

Default: "Gateway"
Values: "Gateway" "Direct"
protocol enum

Protocol to be used on the DocumentClients.

Default: "Https"
Values: "Https" "Tcp"
leaseOptions object
blobs object
2 nested properties
maxDegreeOfParallelism integer

The number of concurrent invocations allowed for each blob-triggered function.

min=1
poisonBlobThreshold integer

The number of times to try processing a message before moving it to the poison queue.

Default: 5
min=1
mcp object

Configuration settings for 'mcp' triggers.

6 nested properties
instructions string

Describes to clients how to access the remote MCP server.

serverName string

A friendly name for the remote MCP server.

serverVersion string

Current version of the remote MCP server.

encryptClientState boolean

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.

Default: true
messageOptions object

COptions object for the message endpoint in the SSE transport.

system object

COptions object for the message endpoint in the SSE transport.

concurrency object

Configuration settings for dynamic concurrency

2 nested properties
dynamicConcurrencyEnabled boolean

Enables or disables dynamic concurrency for function apps.

Default: true
snapshotPersistenceEnabled boolean

Enables or disables the learned concurrency values persisting in storage.

Default: true
sendCanceledInvocationsToWorker boolean

Where the language worker supports 'Cancellation', send canceled invocations to the worker. If not set, defaults to true.

Default: true
telemetryMode enum

Used to enable output of logs and traces in an OpenTelemetry output format to one or more endpoints that support OpenTelemetry.

Values: "OpenTelemetry"
configurationProfile string

Configuration profile to use for the Function App. Settings defined by the configuration profile will be implicitly applied to the Function App.