Referência ao host.json para Azure Functions 2.x e versões posteriores
O arquivo de metadados host.json contém opções de configuração que afetam todas as funções de uma instância de aplicativo de funções. Este artigo lista as configurações que estão disponíveis a partir da versão 2.x do Azure Functions Runtime.
Observação
Este artigo serve para o Azure Functions 2.x e versões mais recentes. Para obter uma referência de host.json no Functions 1.x, confira Referência de host.json para o Azure Functions 1.x.
Outras opções de configuração do aplicativo de funções são gerenciadas dependendo de onde o aplicativo de funções é executado:
- Implantado no Azure: nas configurações de aplicativo
- No computador local: no arquivo local.settings.json.
As configurações no host.json relacionadas às associações são aplicadas igualmente a cada função no aplicativo de funções.
Você também pode substituir ou aplicar configurações por ambiente usando as configurações de aplicativo.
Arquivo host.json de exemplo
O arquivo host.json de exemplo a seguir para a versão 2.x+ tem todas as opções possíveis especificadas (excluindo as de apenas para uso interno).
{
"version": "2.0",
"aggregator": {
"batchSize": 1000,
"flushTimeout": "00:00:30"
},
"concurrency": {
"dynamicConcurrencyEnabled": true,
"snapshotPersistenceEnabled": true
},
"extensions": {
"blobs": {},
"cosmosDb": {},
"durableTask": {},
"eventHubs": {},
"http": {},
"queues": {},
"sendGrid": {},
"serviceBus": {}
},
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.0.0, 5.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,
"evaluationInterval": "01:00:00",
"initialSamplingPercentage": 100.0,
"samplingPercentageIncreaseTimeout" : "00:00:01",
"samplingPercentageDecreaseTimeout" : "00:00:01",
"minSamplingPercentage": 0.1,
"maxSamplingPercentage": 100.0,
"movingAverageRatio": 1.0,
"excludedTypes" : "Dependency;Event",
"includedTypes" : "PageView;Trace"
},
"dependencyTrackingOptions": {
"enableSqlCommandTextInstrumentation": true
},
"enableLiveMetrics": true,
"enableDependencyTracking": true,
"enablePerformanceCountersCollection": true,
"httpAutoCollectionOptions": {
"enableHttpTriggerExtendedInfoCollection": true,
"enableW3CDistributedTracing": true,
"enableResponseHeaderInjection": true
},
"snapshotConfiguration": {
"agentEndpoint": null,
"captureSnapshotMemoryWeight": 0.5,
"failedRequestLimit": 3,
"handleUntrackedExceptions": true,
"isEnabled": true,
"isEnabledInDeveloperMode": false,
"isEnabledWhenProfiling": true,
"isExceptionSnappointsEnabled": false,
"isLowPrioritySnapshotUploader": true,
"maximumCollectionPlanSize": 50,
"maximumSnapshotsRequired": 3,
"problemCounterResetInterval": "24:00:00",
"provideAnonymousTelemetry": true,
"reconnectInterval": "00:15:00",
"shadowCopyFolder": null,
"shareUploaderProcess": true,
"snapshotInLowPriorityThread": true,
"snapshotsPerDayLimit": 30,
"snapshotsPerTenMinutesLimit": 1,
"tempFolder": null,
"thresholdForSnapshotting": 1,
"uploaderProxy": null
}
}
},
"managedDependency": {
"enabled": true
},
"singleton": {
"lockPeriod": "00:00:15",
"listenerLockPeriod": "00:01:00",
"listenerLockRecoveryPollingInterval": "00:01:00",
"lockAcquisitionTimeout": "00:01:00",
"lockAcquisitionPollingInterval": "00:00:03"
},
"telemetryMode": "OpenTelemetry",
"watchDirectories": [ "Shared", "Test" ],
"watchFiles": [ "myFile.txt" ]
}
As seções seguintes deste artigo explicam cada propriedade de nível superior. Todas são opcionais, a menos que seja indicado o contrário.
agregador
Especifica quantas invocações de função são agregadas ao calcular métricas para o Application Insights.
{
"aggregator": {
"batchSize": 1000,
"flushTimeout": "00:00:30"
}
}
Propriedade | Padrão | Descrição |
---|---|---|
batchSize | 1000 | Número máximo de solicitações para agregação. |
flushTimeout | 00:00:30 | Período de tempo máximo para agregação. |
As invocações de função são agregadas quando o primeiro dos dois limites é atingido.
applicationInsights
Essa configuração é a filha de Registro em log.
Controla opções para o Application Insights, incluindo opções de amostragem.
Para obter a estrutura JSON completa, confira o arquivo host.json de exemplo anterior.
Observação
A amostragem de log pode fazer com que algumas execuções não apareçam na folha do Monitor do Application Insights. Para evitar a amostragem de log, adicione excludedTypes: "Request"
ao valor samplingSettings
.
Propriedade | Padrão | Descrição |
---|---|---|
samplingSettings | N/D | Confira applicationInsights.samplingSettings. |
dependencyTrackingOptions | N/D | Confira applicationInsights.dependencyTrackingOptions. |
enableLiveMetrics | true | Habilita a coleta de métricas em tempo real. |
enableDependencyTracking | true | Habilita o acompanhamento de dependência. |
enablePerformanceCountersCollection | true | Habilita a coleta de contadores de desempenho Kudu. |
liveMetricsInitializationDelay | 00:00:15 | Somente para uso interno. |
httpAutoCollectionOptions | N/D | Confira applicationInsights.httpAutoCollectionOptions. |
snapshotConfiguration | N/D | Confira applicationInsights.snapshotConfiguration. |
applicationInsights.samplingSettings
Para obter mais informações sobre essas configurações, confira Amostragem no Application Insights.
Propriedade | Padrão | Descrição |
---|---|---|
isEnabled | true | Habilita ou desabilita a amostragem. |
maxTelemetryItemsPerSecond | 20 | O número de destino de itens de telemetria registrados por segundo em cada host do servidor. Se o aplicativo for executado em vários hosts, reduza esse valor para permanecer dentro da taxa de destino de tráfego geral. |
evaluationInterval | 01:00:00 | O intervalo no qual a taxa atual de telemetria é reavaliada. Avaliação é executada como uma média móvel. Talvez você queira reduzir esse intervalo se a sua telemetria estiver sujeita a picos repentinos. |
initialSamplingPercentage | 100.0 | A porcentagem de amostragem inicial aplicada no início do processo de amostragem para variar a porcentagem de forma dinâmica. Não reduza o valor enquanto estiver depurando. |
samplingPercentageIncreaseTimeout | 00:00:01 | Quando o valor da porcentagem de amostragem é alterado, essa propriedade determina quanto tempo depois o Application Insights tem permissão para aumentar a porcentagem de amostragem novamente para capturar mais dados. |
samplingPercentageDecreaseTimeout | 00:00:01 | Quando o valor da porcentagem de amostragem é alterado, essa propriedade determina quanto tempo depois o Application Insights tem permissão para reduzir a porcentagem de amostragem novamente para capturar menos dados. |
minSamplingPercentage | 0,1 | Conforme a porcentagem de amostragem varia, essa propriedade determina a porcentagem de amostragem mínima permitida. |
maxSamplingPercentage | 100.0 | Conforme a porcentagem de amostragem varia, essa propriedade determina a porcentagem de amostragem máxima permitida. |
movingAverageRatio | 1.0 | No cálculo da média móvel, o peso atribuído ao valor mais recente. Use um valor menor ou igual a 1. Valores menores tornam o algoritmo menos reativo a mudanças repentinas. |
excludedTypes | nulo | Uma lista delimitada por ponto-e-vírgula dos tipos que você não quer usar como amostra. Os tipos reconhecidos são Dependency , Event , Exception , PageView , Request e Trace . Todas as instâncias dos tipos especificados são transmitidas; os tipos não especificados são usados como amostra. |
includedTypes | nulo | Uma lista delimitada por ponto-e-vírgula dos tipos que você deseja que sejam amostrados; uma lista vazia implica todos os tipos. O tipo listado em excludedTypes substitui os tipos listados aqui. Os tipos reconhecidos são Dependency , Event , Exception , PageView , Request e Trace . As instâncias dos tipos especificados são amostradas; os tipos não especificados ou implicados são transmitidos sem amostragem. |
applicationInsights.httpAutoCollectionOptions
Propriedade | Padrão | Descrição |
---|---|---|
enableHttpTriggerExtendedInfoCollection | true | Habilita ou desabilita informações de solicitação HTTP estendidas para gatilhos HTTP: cabeçalhos de correlação de solicitação de entrada, suporte para chaves de várias instrumentações, método HTTP, caminho e resposta. |
enableW3CDistributedTracing | true | Habilita ou desabilita o suporte do protocolo de rastreamento distribuído W3C (e ativa o esquema de correlação herdado). Habilitado por padrão se enableHttpTriggerExtendedInfoCollection for true. Se enableHttpTriggerExtendedInfoCollection for false, esse sinalizador se aplicará somente a solicitações de saída e não a solicitações de entrada. |
enableResponseHeaderInjection | true | Habilita ou desabilita a injeção de cabeçalhos de correlação de vários componentes em respostas. Habilitar a injeção permite que o Application Insights crie um mapa do aplicativo para quando várias chaves de instrumentação são usadas. Habilitado por padrão se enableHttpTriggerExtendedInfoCollection for true. Essa configuração não se aplica se enableHttpTriggerExtendedInfoCollection for false. |
applicationInsights.dependencyTrackingOptions
Propriedade | Padrão | Descrição |
---|---|---|
enableSqlCommandTextInstrumentation | false | Habilita a coleta do texto completo das consultas SQL, que é desabilitada por padrão. Para obter mais informações de como coletar texto de consultas SQL, confira Acompanhamento avançado de SQL para obter uma consulta SQL completa. |
applicationInsights.snapshotConfiguration
Para obter mais informações sobre instantâneos, confira Depurar instantâneos em exceções nos aplicativos .NET e Solucionar problemas ao habilitar o Depurador de Instantâneos do Application Insights ou ao exibir instantâneos.
Propriedade | Padrão | Descrição |
---|---|---|
agentEndpoint | nulo | O ponto de extremidade usado para se conectar ao serviço de Depurador de Instantâneos do Application Insights. Se for null, será usado um ponto de extremidade padrão. |
captureSnapshotMemoryWeight | 0,5 | O peso dado ao tamanho da memória do processo atual ao verificar se há memória suficiente para tirar um instantâneo. O valor esperado é maior que a fração apropriada 0 (0 < CaptureSnapshotMemoryWeight < 1). |
failedRequestLimit | 3 | O limite do número de solicitações com falha para solicitar instantâneos antes que o processador de telemetria seja desabilitado. |
handleUntrackedExceptions | true | Habilita ou desabilita o rastreamento de exceções que não são rastreadas pela telemetria do Application Insights. |
isEnabled | true | Habilita ou desabilita a coleta de instantâneo |
isEnabledInDeveloperMode | false | Habilita ou desabilita a coleta de instantâneo habilitada no modo de desenvolvedor. |
isEnabledWhenProfiling | true | Habilita ou desabilita a criação de instantâneos, mesmo se o Application Insights Profiler estiver coletando uma sessão detalhada de criação de perfil. |
isExceptionSnappointsEnabled | false | Habilita ou desabilita a filtragem de exceções. |
isLowPrioritySnapshotUploader | true | Determina se o processo SnapshotUploader deve ser executado na prioridade abaixo do normal. |
maximumCollectionPlanSize | 50 | O número máximo de problemas que podemos rastrear a qualquer momento em um intervalo de um a 9999. |
maximumSnapshotsRequired | 3 | O número máximo de instantâneos coletados para um único problema, em um intervalo de um a 999. Um problema pode ser considerado uma instrução de lançamento individual no aplicativo. Depois que o número de instantâneos coletados para um problema atingir esse valor, nenhum instantâneo será coletado para esse problema até que os contadores de problema sejam redefinidos (confira problemCounterResetInterval ) e o limite thresholdForSnapshotting seja atingido novamente. |
problemCounterResetInterval | 24:00:00 | A frequência com que os contadores de problema devem ser redefinidos em um intervalo de um minuto a sete dias. Quando esse intervalo for atingido, todas as contagens de problemas serão redefinidas para zero. Problemas existentes que já atingiram o limite para fazer instantâneos, mas que ainda não geraram o número de instantâneos em maximumSnapshotsRequired , permanecem ativos. |
provideAnonymousTelemetry | true | Determina se o uso anônimo e a telemetria de erro devem ser enviados à Microsoft. Essa telemetria poderá ser usada se você entrar em contato com a Microsoft para ajudar a solucionar problemas com o Depurador de Instantâneos. Ela também é usada para monitorar padrões de uso. |
reconnectInterval | 00:15:00 | A frequência com que reconectamos ao ponto de extremidade do Depurador de Instantâneos. O intervalo permitido é de um minuto a um dia. |
shadowCopyFolder | nulo | Especifica a pasta a ser usada para binários de cópia de sombra. Se não estiver definido, as pastas especificadas pelas seguintes variáveis de ambiente serão tentadas em ordem: Fabric_Folder_App_Temp, LOCALAPPDATA, APPDATA, TEMP. |
shareUploaderProcess | true | Se for true, apenas uma instância de SnapshotUploader coletará e carregará instantâneos para vários aplicativos que compartilham o InstrumentationKey. Se definido como false, o SnapshotUploader será exclusivo para cada tupla (ProcessName, InstrumentationKey). |
snapshotInLowPriorityThread | true | Determina se os instantâneos devem ou não ser processados em um thread de prioridade baixa de E/S. A criação de um instantâneo é uma operação rápida. No entanto, para carregar um instantâneo no serviço de Depurador de Instantâneos, ele deve ser gravado primeiro no disco como um minidespejo. Isso acontece no processo SnapshotUploader. Definir esse valor como true usa E/S de baixa prioridade para gravar o minidespejo, que não competirá com o aplicativo por recursos. Definir esse valor como false acelera a criação de minidespejo em detrimento da desaceleração do seu aplicativo. |
snapshotsPerDayLimit | 30 | O número máximo de instantâneos permitido em um dia (24 horas). Esse limite também é imposto no lado do serviço do Application Insights. Os carregamentos têm uma taxa limitada a 50 por dia por aplicativo (por chave de instrumentação). Esse valor ajuda a impedir a criação de instantâneos adicionais que eventualmente serão rejeitados durante o carregamento. Um valor de zero remove totalmente o limite, o que não é recomendado. |
snapshotsPerTenMinutesLimit | 1 | O número máximo de instantâneos permitido em 10 minutos. Embora não exista limite superior nesse valor, cuidado ao aumentá-lo nas cargas de trabalho de produção, pois isso pode afetar o desempenho do aplicativo. Criar um instantâneo é rápido, mas criar um minidespejo do instantâneo e carregá-lo para o serviço de Depurador de Instantâneos é uma operação muito mais lenta que competirá com o aplicativo por recursos (CPU e E/S). |
tempFolder | nulo | Especifica a pasta para gravar minidespejos e arquivos de log do carregador. Se não for definido, %TEMP%\Dumps será usado. |
thresholdForSnapshotting | 1 | A quantidade de vezes que o Application Insights precisa ver uma exceção antes de solicitar instantâneos. |
uploaderProxy | nulo | Substitui o servidor proxy usado no processo de Snapshot Uploader. Talvez seja necessário usar essa configuração se o aplicativo se conectar à Internet por meio de um servidor proxy. O Snapshot Collector é executado no processo do aplicativo e usará as mesmas configurações de proxy. No entanto, o Snapshot Uploader é executado como um processo separado e talvez seja necessário configurar o servidor proxy manualmente. Se esse valor for null, o Snapshot Collector tentará detectar automaticamente o endereço do proxy ao examinar System.Net.WebRequest.DefaultWebProxy e passar o valor para o Snapshot Uploader. Se esse valor não for null, a detecção automática não será usada e o servidor proxy especificado aqui deverá ser usado no Snapshot Uploader. |
blobs
As definições de configuração podem ser encontradas em Associações e gatilhos de blob de armazenamento.
console
Essa configuração é a filha de Registro em log. Ela controla o log do console quando não está no modo de depuração.
{
"logging": {
...
"console": {
"isEnabled": false,
"DisableColors": true
},
...
}
}
Propriedade | Padrão | Descrição |
---|---|---|
DisableColors | false | Suprime a formatação de log nos logs de contêiner no Linux. Defina como verdadeiro se você estiver vendo caracteres de controle ANSI indesejados nos logs de contêiner ao executar no Linux. |
isEnabled | false | Habilita ou desabilita o log de console. |
Azure Cosmos DB
A definição de configuração pode ser encontrada em Associações e gatilhos do Azure Cosmos DB.
customHandler
Definições de configuração para um manipulador personalizado. Para obter mais informações, confira Manipuladores personalizados do Azure Functions.
"customHandler": {
"description": {
"defaultExecutablePath": "server",
"workingDirectory": "handler",
"arguments": [ "--port", "%FUNCTIONS_CUSTOMHANDLER_PORT%" ]
},
"enableForwardingHttpRequest": false
}
Propriedade | Padrão | Descrição |
---|---|---|
defaultExecutablePath | N/D | O executável a ser iniciado como o processo de manipulador personalizado. É uma configuração necessária ao usar manipuladores personalizados e o valor é relativo à raiz do aplicativo de funções. |
workingDirectory | raiz do aplicativo de funções | O diretório de trabalho no qual iniciar o processo de manipulador personalizado. É uma configuração opcional e o valor é relativo à raiz do aplicativo de funções. |
argumentos | N/D | Uma matriz de argumentos de linha de comando para passar para o processo de manipulador personalizado. |
enableForwardingHttpRequest | false | Se definido, todas as funções que consistem apenas em um gatilho HTTP e saída HTTP serão encaminhadas para a solicitação HTTP original em vez do conteúdo de solicitação do manipulador personalizado. |
durableTask
A definição de configuração pode ser encontrada em Associações para Durable Functions.
simultaneidade
Habilita a simultaneidade dinâmica para associações específicas no aplicativo de funções. Para saber mais, confira Simultaneidade dinâmica.
{
"concurrency": {
"dynamicConcurrencyEnabled": true,
"snapshotPersistenceEnabled": true
}
}
Propriedade | Padrão | Descrição |
---|---|---|
dynamicConcurrencyEnabled | false | Habilita comportamentos de simultaneidade dinâmica para todos os gatilhos compatíveis com esse recurso, o que é desativado por padrão. |
snapshotPersistenceEnabled | true | Os valores de simultaneidade aprendidos são gravados periodicamente no armazenamento para que novas instâncias comecem com esses valores em vez de começarem com 1 e precisarem refazer o aprendizado. |
eventHub
As definições de configuração podem ser encontradas em Associações e gatilhos do Hub de Eventos.
extensions
Propriedade que retorna um objeto que contém todas as configurações específicas de associação, como http e eventHub.
extensionBundle
Os pacotes de extensão permitem que você adicione um conjunto compatível de extensões de associação de funções ao aplicativo de funções. Para saber mais, confira Pacotes de extensão para o desenvolvimento local.
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.0.0, 5.0.0)"
}
}
As propriedades a seguir estão disponíveis em extensionBundle
:
Propriedade | Descrição |
---|---|
id |
O namespace dos pacotes de extensão do Microsoft Azure Functions. |
version |
O intervalo de versão do pacote a ser instalado. O runtime do Functions sempre escolhe a versão máxima permitida definida pelo intervalo de versões. Por exemplo, um intervalo de valores version de [4.0.0, 5.0.0) permite todas as versões de pacote de 4.0.0 até antes de 5.0.0. Para obter mais informações, confira a notação de intervalo para especificar intervalos de versões. |
funções
Uma lista de funções que o host de trabalho executa. Uma matriz vazia significa que todas as funções serão executadas. Para uso somente quando em execução localmente. 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.
{
"functions": [ "QueueProcessor", "GitHubWebHook" ]
}
functionTimeout
Indica a duração do tempo limite para todas as execuções de função. Ele segue o formato de cadeia de caracteres de intervalo de tempo.
Tipo de plano | Padrão (mín.) | Máximo (mín.) |
---|---|---|
Consumo | 5 | 10 |
Premium1 | 30 | -1 (não associado)2 |
Dedicado (Serviço de Aplicativo) | 30 | -1 (não associado)2 |
1 A execução do plano Premium só é garantida por 60 minutos, mas é, tecnicamente, desassociada.
2 Um valor de -1
indica a execução não associada, mas é recomendável manter um limite superior fixo.
{
"functionTimeout": "00:05:00"
}
healthMonitor
Definições de configuração para monitor de integridade de Host.
{
"healthMonitor": {
"enabled": true,
"healthCheckInterval": "00:00:10",
"healthCheckWindow": "00:02:00",
"healthCheckThreshold": 6,
"counterThreshold": 0.80
}
}
Propriedade | Padrão | Descrição |
---|---|---|
Habilitado | true | Especifica se o recurso está habilitado. |
healthCheckInterval | 10 segundos | O intervalo de tempo entre as verificações de integridade em segundo plano. |
healthCheckWindow | 2 minutos | Uma janela de tempo deslizante usada em conjunto com a configuração healthCheckThreshold . |
healthCheckThreshold | 6 | Número máximo de vezes que a verificação de integridade pode falhar antes de uma reciclagem de host ser iniciada. |
counterThreshold | 0.80 | O limite no qual um contador de desempenho será considerado não íntegro. |
http
As definições de configuração podem ser encontradas em Associações e gatilhos HTTP.
registro em log
Controla os comportamentos de registro em log do aplicativo de funções, incluindo o Application Insights.
"logging": {
"fileLoggingMode": "debugOnly",
"logLevel": {
"Function.MyFunction": "Information",
"default": "None"
},
"console": {
...
},
"applicationInsights": {
...
}
}
Propriedade | Padrão | Descrição |
---|---|---|
fileLoggingMode | debugOnly | Determina o comportamento de registro em log de arquivos ao serem executados no Azure. As opções são never , always e debugOnly . Essa configuração não é usada durante a execução local. Quando possível, você deve usar o Application Insights ao depurar suas funções no Azure. O uso de always afeta negativamente o comportamento de inicialização a frio do aplicativo e a taxa de transferência de dados. A configuração padrão debugOnly gera arquivos de log quando você está depurando usando o portal do Azure. |
logLevel | N/D | Objeto que define a filtragem da categoria de log para funções no aplicativo. Essa configuração permite filtrar o registro para funções específicas. Para saber mais, confira Configurar níveis de registro em log. |
console | N/D | A configuração de log do console. |
applicationInsights | N/D | A configuração applicationInsights. |
managedDependency
A dependência gerenciada é um recurso que atualmente só tem suporte com funções baseadas no PowerShell. Ele permite que as dependências sejam gerenciadas automaticamente pelo serviço. Quando a propriedade enabled
é definida como true
, o arquivo requirements.psd1
é processado. As dependências serão atualizadas quando qualquer versão secundária for lançada. Para obter mais informações, confira Dependência gerenciada no artigo sobre PowerShell.
{
"managedDependency": {
"enabled": true
}
}
filas
As definições de configuração podem ser encontradas em Associações e gatilhos da fila de armazenamento.
sendGrid
A definição de configuração pode ser encontrada em Associações e gatilhos do SendGrid.
serviceBus
A definição de configuração pode ser encontrada em Associações e gatilhos do Barramento de Serviço.
singleton
Parâmetro de configuração para o comportamento de bloqueio de Singleton. Para obter mais informações, consulte Problema com o GitHub referente ao suporte de singleton.
{
"singleton": {
"lockPeriod": "00:00:15",
"listenerLockPeriod": "00:01:00",
"listenerLockRecoveryPollingInterval": "00:01:00",
"lockAcquisitionTimeout": "00:01:00",
"lockAcquisitionPollingInterval": "00:00:03"
}
}
Propriedade | Padrão | Descrição |
---|---|---|
lockPeriod | 00:00:15 | O período em que ocorrem os bloqueios de nível de função. Os bloqueios têm renovação automática. |
listenerLockPeriod | 00:01:00 | O período em que ocorrem os bloqueios de ouvinte. |
listenerLockRecoveryPollingInterval | 00: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. |
lockAcquisitionTimeout | 00:01:00 | A quantidade máxima de tempo em que o runtime tenta adquirir um bloqueio. |
lockAcquisitionPollingInterval | N/D | O intervalo entre as tentativas de aquisição de bloqueio. |
telemetriaModo
Esse recurso está atualmente em versão prévia.
Usado para habilitar a saída de logs e rastreamentos em um formato de saída OpenTelemetry para um ou mais pontos de extremidade que dão suporte a OpenTelemetry. Quando essa configuração é definida como OpenTelemetry
, a saída do OpenTelemetry é usada. Por padrão, sem essa configuração, todos os logs, rastreamentos e eventos são enviados para o Application Insights usando as saídas padrão. Para obter mais informações, consulte Usar o OpenTelemetry com o Azure Functions.
version
Esse valor indica a versão do esquema de host.json. A cadeia de caracteres de versão "version": "2.0"
é necessária para um aplicativo de funções que segmente o runtime v2 ou uma versão mais recente. Não há alterações de esquema do host.json entre v2 e v3.
watchDirectories
Um conjunto de diretórios de código compartilhado que devem ser monitorados quanto a alterações. Garante que, quando o código nesses diretórios é alterado, as alterações sejam coletadas pelas funções.
{
"watchDirectories": [ "Shared" ]
}
watchFiles
Uma matriz de um ou mais nomes de arquivos que são monitorados para alterações que exigem que o aplicativo seja reiniciado. Isso garante que quando o código desses arquivos for alterado, as atualizações sejam coletadas pelas funções.
{
"watchFiles": [ "myFile.txt" ]
}
Substituir valores de host.json
Pode haver instâncias em que você deseja configurar ou modificar configurações específicas em um arquivo host.json para um ambiente específico, sem alterar o próprio arquivo host.json. Você pode substituir valores de host.json específicos ao criar um valor equivalente como uma configuração de aplicativo. Quando o runtime encontra uma configuração de aplicativo no formato AzureFunctionsJobHost__path__to__setting
, ele substitui a configuração host.json equivalente na configuração localizada em path.to.setting
no JSON. Quando expressa como uma configuração de aplicativo, o ponto (.
) usado para indicar a hierarquia JSON é substituído por um sublinhado duplo (__
).
Por exemplo, digamos que você queira desabilitar a amostragem do Application Insight ao fazer a execução no local. Se você alterou o arquivo host.json local para desabilitar o Application Insights, essa alteração poderá ser enviada por push ao aplicativo de produção durante a implantação. No entanto, a maneira mais segura de fazer isso é criar uma configuração de aplicativo como "AzureFunctionsJobHost__logging__applicationInsights__samplingSettings__isEnabled":"false"
no arquivo local.settings.json
. Você pode ver isso no seguinte arquivo local.settings.json
, que não é publicado:
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "{storage-account-connection-string}",
"FUNCTIONS_WORKER_RUNTIME": "{language-runtime}",
"AzureFunctionsJobHost__logging__applicationInsights__samplingSettings__isEnabled":"false"
}
}
A substituição das configurações de host.json usando variáveis de ambiente segue as convenções de nomenclatura do ASP.NET Core. Quando a estrutura do elemento inclui uma matriz, o índice da matriz numérica deve ser tratado como um nome de elemento adicional nesse caminho. Para obter mais informações, confira Nomenclatura de variáveis de ambiente.