referência de host. JSON para Azure Functions 2. x e posteriorhost.json reference for Azure Functions 2.x and later

O arquivo de metadados host.json contém opções de configuração global que afetam todas as funções de um aplicativo de funções.The host.json metadata file contains global configuration options that affect all functions for a function app. Este artigo lista as configurações que estão disponíveis a partir da versão 2. x do tempo de execução de Azure Functions.This article lists the settings that are available starting with version 2.x of the Azure Functions runtime.

Observação

Este artigo é para o Azure Functions 2. x e versões posteriores.This article is for Azure Functions 2.x and later versions. Para obter uma referência de host.json no Functions 1.x, consulte Referência de host.json para o Azure Functions 1.x.For a reference of host.json in Functions 1.x, see host.json reference for Azure Functions 1.x.

Outras opções de configuração de aplicativo de funções são gerenciadas nas configurações de aplicativo.Other function app configuration options are managed in your app settings.

Algumas configurações host.json são usadas apenas quando executadas localmente no arquivo local.settings.json.Some host.json settings are only used when running locally in the local.settings.json file.

Arquivo host.json de exemploSample host.json file

Os seguintes arquivos host.json de exemplo têm todas as opções possíveis especificadas.The following sample host.json files have all possible options specified.

{
    "version": "2.0",
    "aggregator": {
        "batchSize": 1000,
        "flushTimeout": "00:00:30"
    },
    "extensions": {
        "cosmosDb": {},
        "durableTask": {},
        "eventHubs": {},
        "http": {},
        "queues": {},
        "sendGrid": {},
        "serviceBus": {}
    },
    "extensionBundle": {
        "id": "Microsoft.Azure.Functions.ExtensionBundle",
        "version": "[1.*, 2.0.0)"
    },
    "functions": [ "QueueProcessor", "GitHubWebHook" ],
    "functionTimeout": "00:05:00",
    "healthMonitor": {
        "enabled": true,
        "healthCheckInterval": "00:00:10",
        "healthCheckWindow": "00:02:00",
        "healthCheckThreshold": 6,
        "counterThreshold": 0.80
    },
    "logging": {
        "fileLoggingMode": "debugOnly",
        "logLevel": {
          "Function.MyFunction": "Information",
          "default": "None"
        },
        "applicationInsights": {
            "samplingSettings": {
              "isEnabled": true,
              "maxTelemetryItemsPerSecond" : 20
            }
        }
    },
    "managedDependency": {
        "enabled": true
    },
    "singleton": {
      "lockPeriod": "00:00:15",
      "listenerLockPeriod": "00:01:00",
      "listenerLockRecoveryPollingInterval": "00:01:00",
      "lockAcquisitionTimeout": "00:01:00",
      "lockAcquisitionPollingInterval": "00:00:03"
    },
    "watchDirectories": [ "Shared", "Test" ]
}

As seções seguintes deste artigo explicam cada propriedade de nível superior.The following sections of this article explain each top-level property. Todas são opcionais, a menos que seja indicado o contrário.All are optional unless otherwise indicated.

agregadoraggregator

Especifica quantas invocações de função são agregadas ao calcular métricas para o Application Insights.Specifies how many function invocations are aggregated when calculating metrics for Application Insights.

{
    "aggregator": {
        "batchSize": 1000,
        "flushTimeout": "00:00:30"
    }
}
PropriedadeProperty PadrãoDefault DESCRIÇÃODescription
batchSizebatchSize 10001000 Número máximo de solicitações para agregação.Maximum number of requests to aggregate.
flushTimeoutflushTimeout 00:00:3000:00:30 Período de tempo máximo para agregação.Maximum time period to aggregate.

As invocações de função são agregadas quando o primeiro dos dois limites é atingido.Function invocations are aggregated when the first of the two limits are reached.

applicationInsightsapplicationInsights

Essa configuração é a filha de Registro em log.This setting is a child of logging.

Controla o recurso de amostragem no Application Insights.Controls the sampling feature in Application Insights.

{
    "applicationInsights": {
        "samplingSettings": {
          "isEnabled": true,
          "maxTelemetryItemsPerSecond" : 20
        }
    }
}

Observação

A amostragem de log pode fazer com que algumas execuções não apareçam na folha do Monitor do Application Insights.Log sampling may cause some executions to not show up in the Application Insights monitor blade.

PropriedadeProperty PadrãoDefault DescriçãoDescription
isEnabledisEnabled truetrue Habilita ou desabilita a amostragem.Enables or disables sampling.
maxTelemetryItemsPerSecondmaxTelemetryItemsPerSecond 2020 O limite em que a amostragem começa.The threshold at which sampling begins.
EnableLiveMetricsEnableLiveMetrics truetrue Habilita a coleta de métricas em tempo real.Enables live metrics collection.
EnableDependencyTrackingEnableDependencyTracking truetrue Habilita o rastreamento de dependência.Enables dependency tracking.
EnablePerformanceCountersCollectionEnablePerformanceCountersCollection truetrue Habilita a coleta de contadores de desempenho kudu.Enables Kudu performance counters collection.

cosmosDbcosmosDb

A definição de configuração pode ser encontrada em Associações e gatilhos do Cosmos DB.Configuration setting can be found in Cosmos DB triggers and bindings.

durableTaskdurableTask

A definição de configuração pode ser encontrada em Associações para Durable Functions.Configuration setting can be found in bindings for Durable Functions.

eventHubeventHub

As definições de configuração podem ser encontradas em Associações e gatilhos do Hub de Eventos.Configuration settings can be found in Event Hub triggers and bindings.

extensionsextensions

Propriedade que retorna um objeto que contém todas as configurações específicas de associação, como http e eventHub.Property that returns an object that contains all of the binding-specific settings, such as http and eventHub.

extensionBundleextensionBundle

Os pacotes de extensão permitem que você adicione um conjunto compatível de extensões de associação de funções ao seu aplicativo de funções.Extension bundles lets you add a compatible set of Functions binding extensions to your function app. Para saber mais, confira pacotes de extensão para o desenvolvimento local.To learn more, see Extension bundles for local development.

{
    "version": "2.0",
    "extensionBundle": {
        "id": "Microsoft.Azure.Functions.ExtensionBundle",
        "version": "[1.*, 2.0.0)"
    }
}

As propriedades a seguir estão disponíveis no extensionBundle:The following properties are available in extensionBundle:

PropriedadeProperty DESCRIÇÃODescription
IDid O namespace para pacotes de extensão do Microsoft Azure functions.The namespace for Microsoft Azure Functions extension bundles.
versionversion A versão do pacote a ser instalado.The version of the bundle to install. O tempo de execução do Functions sempre escolhe a versão máxima permitida definida pelo intervalo de versão ou intervalo.The Functions runtime always picks the maximum permissible version defined by the version range or interval. O valor da versão acima permite todas as versões do pacote da 1.0.0 até, mas não incluindo 2.0.0.The version value above allows all bundle versions from 1.0.0 up to but not including 2.0.0. Para obter mais informações, consulte a notação de intervalo para especificar intervalos de versão.For more information, see the interval notation for specifying version ranges.

As versões do pacote são incrementadas como pacotes na alteração do pacote.Bundle versions increment as packages in the bundle change. As alterações de versão principal ocorrem quando os pacotes no pacote são incrementados por uma versão principal.Major version changes occur when packages in the bundle increment by a major version. As alterações de versão principais no pacote geralmente coincidem com uma alteração na versão principal do tempo de execução do functions.Major version changes in the bundle usually coincide with a change in the major version of the Functions runtime.

O conjunto atual de extensões instaladas pelo pacote padrão é enumerado neste arquivo Extensions. JSON.The current set of extensions installed by the default bundle is enumerated in this extensions.json file.

functionsfunctions

Uma lista de funções que o host de trabalho executa.A list of functions that the job host runs. Uma matriz vazia significa que todas as funções serão executadas.An empty array means run all functions. Para uso somente quando em execução localmente.Intended for use only when running locally. Em aplicativos de funções no Azure, você deve seguir as etapas em Como desabilitar funções no Azure Functions para desabilitar funções específicas em vez de usar essa configuração.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 a duração do tempo limite para todas as funções.Indicates the timeout duration for all functions. Ele segue o formato de cadeia de caracteres TimeSpan.It follows the timespan string format. Em um plano de Consumo sem servidor, o intervalo válido é de 1 segundo a 10 minutos e o valor padrão é 5 minutos.In a serverless Consumption plan, the valid range is from 1 second to 10 minutes, and the default value is 5 minutes.

No plano Premium, o intervalo válido é de 1 segundo a 60 minutos e o valor padrão é 30 minutos.In the Premium plan the valid range is from 1 second to 60 minutes, and the default value is 30 minutes.

Em um plano dedicado (serviço de aplicativo), não há nenhum limite geral e o valor padrão é 30 minutos.In a Dedicated (App Service) plan, there is no overall limit, and the default value is 30 minutes. Um valor de -1 indica a execução não associada, mas é recomendável manter um limite superior fixo.A value of -1 indicates unbounded execution, but keeping a fixed upper bound is recommended.

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

healthMonitorhealthMonitor

Definições de configuração para monitor de integridade de Host.Configuration settings for Host health monitor.

{
    "healthMonitor": {
        "enabled": true,
        "healthCheckInterval": "00:00:10",
        "healthCheckWindow": "00:02:00",
        "healthCheckThreshold": 6,
        "counterThreshold": 0.80
    }
}
PropriedadeProperty PadrãoDefault DescriçãoDescription
habilitadoenabled truetrue Especifica se o recurso está habilitado.Specifies whether the feature is enabled.
healthCheckIntervalhealthCheckInterval 10 segundos10 seconds O intervalo de tempo entre as verificações de integridade em segundo plano.The time interval between the periodic background health checks.
healthCheckWindowhealthCheckWindow 2 minutos2 minutes Uma janela de tempo deslizante usada em conjunto com a configuração healthCheckThreshold.A sliding time window used in conjunction with the healthCheckThreshold setting.
healthCheckThresholdhealthCheckThreshold 66 Número máximo de vezes que a verificação de integridade pode falhar antes de uma reciclagem de host ser iniciada.Maximum number of times the health check can fail before a host recycle is initiated.
counterThresholdcounterThreshold 0.800.80 O limite no qual um contador de desempenho será considerado não íntegro.The threshold at which a performance counter will be considered unhealthy.

httphttp

As definições de configuração podem ser encontradas em Associações e gatilhos HTTP.Configuration settings can be found in http triggers and bindings.

registro em loglogging

Controla os comportamentos de registro em log do aplicativo de funções, incluindo o Application Insights.Controls the logging behaviors of the function app, including Application Insights.

"logging": {
    "fileLoggingMode": "debugOnly"
    "logLevel": {
      "Function.MyFunction": "Information",
      "default": "None"
    },
    "console": {
        ...
    },
    "applicationInsights": {
        ...
    }
}
PropriedadeProperty PadrãoDefault DescriçãoDescription
fileLoggingModefileLoggingMode debugOnlydebugOnly Define qual nível de log de arquivos está habilitado.Defines what level of file logging is enabled. As opções são: never, always e debugOnly.Options are never, always, debugOnly.
logLevellogLevel N/Dn/a Objeto que define a filtragem da categoria de log para funções no aplicativo.Object that defines the log category filtering for functions in the app. As versões 2. x e posteriores seguem o layout de ASP.NET Core para filtragem de categorias de log.Versions 2.x and later follow the ASP.NET Core layout for log category filtering. Isso permite filtrar o registro para funções específicas.This lets you filter logging for specific functions. Para obter mais informações, consulte Filtragem de logs na documentação do ASP.NET Core.For more information, see Log filtering in the ASP.NET Core documentation.
consoleconsole N/Dn/a A configuração de log do console.The console logging setting.
applicationInsightsapplicationInsights N/Dn/a A configuração applicationInsights.The applicationInsights setting.

consoleconsole

Essa configuração é a filha de Registro em log.This setting is a child of logging. Ela controla o log do console quando não está no modo de depuração.It controls the console logging when not in debugging mode.

{
    "logging": {
    ...
        "console": {
          "isEnabled": "false"
        },
    ...
    }
}
PropriedadeProperty PadrãoDefault DescriçãoDescription
isEnabledisEnabled falsofalse Habilita ou desabilita o log de console.Enables or disables console logging.

managedDependencymanagedDependency

A dependência gerenciada é um recurso que atualmente só tem suporte com funções baseadas no PowerShell.Managed dependency is a feature that is currently only supported with PowerShell based functions. Ele permite que as dependências sejam gerenciadas automaticamente pelo serviço.It enables dependencies to be automatically managed by the service. Quando a propriedade enabled é definida como true, o arquivo de requirements.psd1 é processado.When the enabled property is set to true, the requirements.psd1 file is processed. As dependências são atualizadas quando qualquer versão secundária é lançada.Dependencies are updated when any minor versions are released. Para obter mais informações, consulte dependência gerenciada no artigo do PowerShell.For more information, see Managed dependency in the PowerShell article.

{
    "managedDependency": {
        "enabled": true
    }
}

filasqueues

As definições de configuração podem ser encontradas em Associações e gatilhos da fila de armazenamento.Configuration settings can be found in Storage queue triggers and bindings.

sendGridsendGrid

A definição de configuração pode ser encontrada em Associações e gatilhos do SendGrid.Configuration setting can be found in SendGrid triggers and bindings.

serviceBusserviceBus

A definição de configuração pode ser encontrada em Associações e gatilhos do Barramento de Serviço.Configuration setting can be found in Service Bus triggers and bindings.

singletonsingleton

Parâmetro de configuração para o comportamento de bloqueio de Singleton.Configuration settings for Singleton lock behavior. Para obter mais informações, consulte Problema com o GitHub referente ao suporte de 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"
    }
}
PropriedadeProperty PadrãoDefault DescriçãoDescription
lockPeriodlockPeriod 00:00:1500:00:15 O período em que ocorrem os bloqueios de nível de função.The period that function level locks are taken for. Os bloqueios têm renovação automática.The locks auto-renew.
listenerLockPeriodlistenerLockPeriod 00:01:0000:01:00 O período em que ocorrem os bloqueios de ouvinte.The period that listener locks are taken for.
listenerLockRecoveryPollingIntervallistenerLockRecoveryPollingInterval 00:01:0000:01:00 O intervalo de tempo usado para a recuperação do bloqueio de ouvinte caso não tenha sido possível adquirir um bloqueio de ouvinte durante a inicialização.The time interval used for listener lock recovery if a listener lock couldn't be acquired on startup.
lockAcquisitionTimeoutlockAcquisitionTimeout 00:01:0000:01:00 A quantidade máxima de tempo em que o runtime tenta adquirir um bloqueio.The maximum amount of time the runtime will try to acquire a lock.
lockAcquisitionPollingIntervallockAcquisitionPollingInterval N/Dn/a O intervalo entre as tentativas de aquisição de bloqueio.The interval between lock acquisition attempts.

versionversion

A cadeia de caracteres de versão "version": "2.0" é necessária para um aplicativo de funções que segmente o runtime v2.The version string "version": "2.0" is required for a function app that targets the v2 runtime.

watchDirectorieswatchDirectories

Um conjunto de diretórios de código compartilhado que devem ser monitorados quanto a alterações.A set of shared code directories that should be monitored for changes. Garante que, quando o código nesses diretórios é alterado, as alterações sejam coletadas pelas funções.Ensures that when code in these directories is changed, the changes are picked up by your functions.

{
    "watchDirectories": [ "Shared" ]
}

Próximos passosNext steps