Referência host.json das Funções do Azure 2.x e posterior
O arquivo de metadados host.json contém opções de configuração que afetam todas as funções em uma instância de aplicativo de função. Este artigo lista as configurações disponíveis a partir da versão 2.x do tempo de execução do Azure Functions.
Nota
Este artigo destina-se ao Azure Functions 2.x e versões posteriores. Para obter uma referência de host.json no Functions 1.x, consulte host.json referência do Azure Functions 1.x.
Outras opções de configuração do aplicativo de função são gerenciadas dependendo de onde o aplicativo de função é executado:
- Implantado no Azure: nas configurações do seu aplicativo
- No computador local: no ficheiro local.settings.json .
As configurações em host.json relacionadas a associações são aplicadas igualmente a cada função no aplicativo de função.
Você também pode substituir ou aplicar configurações por ambiente usando as configurações do aplicativo.
Exemplo de arquivo host.json
O arquivo de host.json de exemplo a seguir para a versão 2.x+ tem todas as opções possíveis especificadas (excluindo as que são 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 a seguir deste artigo explicam cada propriedade de nível superior. Todos são opcionais, salvo indicação em 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"
}
}
Property | Predefinição | Description |
---|---|---|
batchSize | 1000 | Número máximo de pedidos a agregar. |
flushTimeout | 00:00:30 | Período máximo de tempo para agregar. |
As invocações de função são agregadas quando o primeiro dos dois limites é atingido.
applicationInsights
Essa configuração é filha do registro.
Controla as opções do Application Insights, incluindo opções de amostragem.
Para obter a estrutura JSON completa, consulte o exemplo anterior host.json arquivo.
Nota
A amostragem de registos pode fazer com que algumas execuções não apareçam no painel de monitorização do Application Insights. Para evitar a amostragem de logs, adicione excludedTypes: "Request"
ao samplingSettings
valor.
Property | Predefinição | Description |
---|---|---|
amostragemConfigurações | n/d | Consulte applicationInsights.samplingSettings. |
dependênciaTrackingOptions | n/d | Consulte applicationInsights.dependencyTrackingOptions. |
habilitar LiveMetrics | verdadeiro | Permite a coleta de métricas em tempo real. |
enableDependencyTracking | verdadeiro | Permite o rastreamento de dependência. |
enablePerformanceCountersCollection | verdadeiro | Habilita a coleta de contadores de desempenho Kudu. |
liveMetricsInitializationDelay | 00:00:15 | Apenas para uso interno. |
httpAutoCollectionOptions | n/d | Consulte applicationInsights.httpAutoCollectionOptions. |
snapshotConfiguration | n/d | Consulte applicationInsights.snapshotConfiguration. |
applicationInsights.samplingConfigurações
Para obter mais informações sobre essas configurações, consulte Amostragem no Application Insights.
Property | Predefinição | Description |
---|---|---|
isEnabled | verdadeiro | Habilita ou desabilita a amostragem. |
maxTelemetryItemsPerSecond | 20 | O número de destino de itens de telemetria registrados por segundo em cada host de servidor. Se o seu aplicativo for executado em muitos hosts, reduza esse valor para permanecer dentro da sua taxa de tráfego de destino geral. |
avaliaçãoIntervalo | 01:00:00 | O intervalo no qual a taxa atual de telemetria é reavaliada. A avaliação é realizada como uma média móvel. Você pode querer encurtar esse intervalo se sua telemetria estiver sujeita a explosões repentinas. |
initialSamplingPercentage | 100.0 | A percentagem de amostragem inicial aplicada no início do processo de amostragem para variar dinamicamente a percentagem. Não reduza o valor enquanto estiver depurando. |
amostragemPercentageIncreaseTimeout | 00:00:01 | Quando o valor da porcentagem de amostragem muda, essa propriedade determina em quanto tempo depois o Application Insights tem permissão para aumentar a porcentagem de amostragem novamente para capturar mais dados. |
amostragemPercentageDecreaseTimeout | 00:00:01 | Quando o valor da porcentagem de amostragem muda, essa propriedade determina em quanto tempo depois o Application Insights pode reduzir a porcentagem de amostragem novamente para capturar menos dados. |
minSamplingPercentage | 0.1 | Como a percentagem de amostragem varia, esta propriedade determina a percentagem mínima de amostragem permitida. |
maxSamplingPercentage | 100.0 | Como a percentagem de amostragem varia, esta propriedade determina a percentagem máxima de amostragem permitida. |
movingAverageRatio | 1.0 | No cálculo da média móvel, o peso atribuído ao valor mais recente. Use um valor igual ou inferior a 1. Valores menores tornam o algoritmo menos reativo a mudanças repentinas. |
excluídosTipos | nulo | Uma lista delimitada por ponto-e-vírgula de tipos que você não deseja que sejam amostrados. Os tipos reconhecidos são: Dependency , Event , Exception , , Request PageView , e Trace . Todas as instâncias dos tipos especificados são transmitidas; Os tipos que não são especificados são amostrados. |
incluídosTipos | nulo | Uma lista delimitada por ponto-e-vírgula dos tipos que você deseja que sejam amostrados; Uma lista vazia implica todos os tipos. Tipo listado em excludedTypes tipos de substituição listados aqui. Os tipos reconhecidos são: Dependency , Event , Exception , , Request PageView , e Trace . As instâncias dos tipos especificados são amostradas; Os tipos que não são especificados ou implícitos são transmitidos sem amostragem. |
applicationInsights.httpAutoCollectionOptions
Property | Predefinição | Description |
---|---|---|
enableHttpTriggerExtendedInfoCollection | verdadeiro | Habilita ou desabilita informações de solicitação HTTP estendidas para gatilhos HTTP: cabeçalhos de correlação de solicitação de entrada, suporte a chaves de multiinstrumentação, método HTTP, caminho e resposta. |
enableW3CDistributedTracing | verdadeiro | Habilita ou desabilita o suporte ao protocolo de rastreamento distribuído W3C (e ativa o esquema de correlação herdado). Ativado por padrão se enableHttpTriggerExtendedInfoCollection for true. Se enableHttpTriggerExtendedInfoCollection for falso, esse sinalizador se aplica apenas a solicitações de saída, não a solicitações de entrada. |
enableResponseHeaderInjection | verdadeiro | Habilita ou desabilita a injeção de cabeçalhos de correlação de vários componentes em respostas. A habilitação da injeção permite que o Application Insights construa um Mapa de Aplicativo para quando várias chaves de instrumentação forem usadas. Ativado por padrão se enableHttpTriggerExtendedInfoCollection for true. Essa configuração não se aplica se enableHttpTriggerExtendedInfoCollection for falsa. |
applicationInsights.dependencyTrackingOptions
Property | Predefinição | Description |
---|---|---|
enableSqlCommandTextInstrumentation | false | Habilita a coleta do texto completo de consultas SQL, que é desabilitado por padrão. Para obter mais informações sobre como coletar texto de consulta SQL, consulte Rastreamento SQL avançado para obter consulta SQL completa. |
applicationInsights.snapshotConfiguration
Para obter mais informações sobre instantâneos, consulte Depurar instantâneos em exceções em aplicativos .NET e Solucionar problemas ao habilitar o depurador de instantâneos do Application Insights ou exibir instantâneos.
Property | Predefinição | Description |
---|---|---|
agentEndpoint | nulo | O ponto de extremidade usado para se conectar ao serviço Application Insights Snapshot Debugger. Se null, um ponto de extremidade padrão é usado. |
captureSnapshotMemoryWeight | 0.5 | O peso dado ao tamanho atual da memória do processo ao verificar se há memória suficiente para tirar um instantâneo. O valor esperado é maior que 0 fração adequada (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 desativado. |
handleUntrackedExceptions | verdadeiro | Habilita ou desabilita o rastreamento de exceções que não são rastreadas pela telemetria do Application Insights. |
isEnabled | verdadeiro | Habilita ou desabilita a coleta de snapshots |
isEnabledInDeveloperMode | false | Habilita ou desabilita a coleta de instantâneos está habilitada no modo de desenvolvedor. |
isEnabledWhenProfiling | verdadeiro | Habilita ou desabilita a criação de instantâneos mesmo que o Application Insights Profiler esteja coletando uma sessão de criação de perfil detalhada. |
isExceptionSnappointsEnabled | false | Habilita ou desabilita a filtragem de exceções. |
isLowPrioritySnapshotUploader | verdadeiro | Determina se o processo SnapshotUploader deve ser executado com 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 como uma declaração de lançamento individual em seu aplicativo. Quando o número de snapshots coletados para um problema atingir esse valor, não serão coletados mais snapshots para esse problema até que os contadores de problemas sejam redefinidos (consulte problemCounterResetInterval ) e o thresholdForSnapshotting limite seja atingido novamente. |
problemCounterResetInterval | 24:00:00 | Com que frequência redefinir os contadores de problemas em um intervalo de um minuto a sete dias. Quando esse intervalo é atingido, todas as contagens de problemas são redefinidas para zero. Os problemas existentes que já atingiram o limite para fazer snapshots, mas ainda não geraram o número de snapshots no maximumSnapshotsRequired , permanecem ativos. |
fornecerTelemetria Anônima | verdadeiro | Determina se a telemetria de erro e uso anônimo deve ser enviada para a Microsoft. Essa telemetria pode ser usada se você entrar em contato com a Microsoft para ajudar a solucionar problemas com o Depurador de Instantâneo. Ele também é usado para monitorar padrões de uso. |
reconnectInterval | 00:15:00 | Com que frequência nos reconectamos ao ponto de extremidade do Depurador de Instantâneo. O intervalo permitido é de um minuto a um dia. |
shadowCopyFolder | nulo | Especifica a pasta a ser usada para copiar binários de sombra. Se não estiver definida, as pastas especificadas pelas seguintes variáveis de ambiente serão tentadas em ordem: Fabric_Folder_App_Temp, LOCALAPPDATA, APPDATA, TEMP. |
shareUploaderProcess | verdadeiro | Se verdadeiro, apenas uma instância de SnapshotUploader coletará e carregará instantâneos para vários aplicativos que compartilham a InstrumentationKey. Se definido como false, o SnapshotUploader será exclusivo para cada tupla (ProcessName, InstrumentationKey). |
snapshotInLowPriorityThread | verdadeiro | Determina se os snapshots devem ou não ser processados em um thread de baixa prioridade de E/S. Criar um snapshot é uma operação rápida, mas, para carregar um snapshot no serviço Snapshot Debugger, ele deve primeiro ser gravado no disco como um minidump. Isso acontece no processo SnapshotUploader. Definir esse valor como true usa E/S de baixa prioridade para gravar o minidump, que não competirá com seu aplicativo por recursos. Definir esse valor como false acelera a criação de minidump às custas de tornar seu aplicativo mais lento. |
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 uploads são limitados a 50 por dia por aplicativo (ou seja, por chave de instrumentação). Esse valor ajuda a evitar a criação de instantâneos adicionais que eventualmente serão rejeitados durante o carregamento. Um valor 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 haja limite superior para esse valor, tenha cuidado ao aumentá-lo em cargas de trabalho de produção, pois isso pode afetar o desempenho do seu aplicativo. Criar um snapshot é rápido, mas criar um minidump do snapshot e carregá-lo para o serviço Snapshot Debugger é uma operação muito mais lenta que competirá com seu aplicativo por recursos (CPU e E/S). |
tempFolder | nulo | Especifica a pasta para gravar minidumps e arquivos de log do carregador. Se não estiver definido, % TEMP%\Dumps será usado. |
thresholdForSnapshotting | 1 | Quantas vezes o Application Insights precisa ver uma exceção antes de pedir instantâneos. |
uploaderProxy | nulo | Substitui o servidor proxy usado no processo do Snapshot Uploader. Poderá ter de utilizar esta definição se a sua aplicação se ligar à Internet através de um servidor proxy. O Snapshot Collector é executado dentro do processo do seu 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 nulo, o Snapshot Collector tentará detetar automaticamente o endereço do proxy examinando System.Net.WebRequest.DefaultWebProxy e passando o valor para o Snapshot Uploader. Se esse valor não for nulo, a deteção automática não será usada e o servidor proxy especificado aqui será usado no Snapshot Uploader. |
blobs
As definições de configuração podem ser encontradas em Gatilhos e ligações de blob de armazenamento.
consola
Essa configuração é filha do registro. Ele controla o registro do console quando não está no modo de depuração.
{
"logging": {
...
"console": {
"isEnabled": false,
"DisableColors": true
},
...
}
}
Property | Predefinição | Description |
---|---|---|
DisableColors | false | Suprime a formatação de log nos logs de contêiner no Linux. Defina como true se você estiver vendo caracteres de controle ANSI indesejados nos logs de contêiner durante a execução no Linux. |
isEnabled | false | Habilita ou desabilita o registro em log do console. |
Azure Cosmos DB
As definições de configuração podem ser encontradas em gatilhos e associações do Azure Cosmos DB.
customHandler
Definições de configuração para um manipulador personalizado. Para obter mais informações, consulte Manipuladores personalizados do Azure Functions.
"customHandler": {
"description": {
"defaultExecutablePath": "server",
"workingDirectory": "handler",
"arguments": [ "--port", "%FUNCTIONS_CUSTOMHANDLER_PORT%" ]
},
"enableForwardingHttpRequest": false
}
Property | Predefinição | Description |
---|---|---|
defaultExecutablePath | n/d | O executável para iniciar como o processo do manipulador personalizado. É uma configuração necessária ao usar manipuladores personalizados e seu valor é relativo à raiz do aplicativo de função. |
diretório de trabalho | raiz do aplicativo de função | O diretório de trabalho no qual iniciar o processo do manipulador personalizado. É uma configuração opcional e seu valor é relativo à raiz do aplicativo de função. |
Argumentos | n/d | Uma matriz de argumentos de linha de comando para passar para o processo do manipulador personalizado. |
enableForwardingHttpRequest | false | Se definidas, todas as funções que consistem em apenas um gatilho HTTP e saída HTTP são encaminhadas a solicitação HTTP original em vez da carga útil da solicitação do manipulador personalizado. |
durávelTarefa
A definição de configuração pode ser encontrada em ligações para funções duráveis.
simultaneidade
Habilita a simultaneidade dinâmica para associações específicas em seu aplicativo de função. Para obter mais informações, consulte Simultaneidade dinâmica.
{
"concurrency": {
"dynamicConcurrencyEnabled": true,
"snapshotPersistenceEnabled": true
}
}
Property | Predefinição | Description |
---|---|---|
dynamicConcurrencyEnabled | false | Permite comportamentos de simultaneidade dinâmica para todos os gatilhos suportados por esse recurso, que está desativado por padrão. |
snapshotPersistenceEnabled | verdadeiro | Os valores de simultaneidade aprendidos são periodicamente mantidos para armazenamento para que novas instâncias comecem a partir desses valores em vez de começar a partir de 1 e ter que refazer o aprendizado. |
Hub de eventos
As definições de configuração podem ser encontradas em gatilhos e associações do Hub de Eventos.
extensões
Propriedade que retorna um objeto que contém todas as configurações específicas de ligação, como http e eventHub.
extensionBundle
Os pacotes de extensões permitem-lhe adicionar um conjunto compatível de extensões de ligação de Funções à sua aplicação de funções. Para saber mais, consulte Pacotes de extensão para desenvolvimento local.
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.0.0, 5.0.0)"
}
}
As propriedades seguintes estão disponíveis em extensionBundle
:
Property | Description |
---|---|
id |
O espaço de nomes para os pacotes de extensões das Funções do Microsoft Azure. |
version |
O intervalo de versões do pacote a ser instalado. O runtime das Funções escolhe sempre a versão máxima permitida definida pelo intervalo de versões. Por exemplo, um version intervalo de valores permite todas as versões do [4.0.0, 5.0.0) pacote de 4.0.0 até, mas não incluindo, 5.0.0. Para obter mais informações, veja a notação de intervalo para especificar intervalos de versões. |
functions
Uma lista de funções que o host de trabalho executa. Uma matriz vazia significa executar todas as funções. Destina-se a ser usado apenas quando executado localmente. Em aplicativos de função 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 timespart.
Tipo de plano | Padrão (min) | Máximo (min) |
---|---|---|
Consumo | 5 | 10 |
Prémio1 | 30 | -1 (ilimitado)2 |
Dedicado (Serviço de Aplicativo) | 30 | -1 (ilimitado)2 |
1 A execução do plano Premium é garantida apenas por 60 minutos, mas tecnicamente ilimitada.
2 Um valor de -1
indica execução ilimitada, mas recomenda-se manter um limite superior fixo.
{
"functionTimeout": "00:05:00"
}
monitor de saúde
Definições de configuração para o monitor de integridade do host.
{
"healthMonitor": {
"enabled": true,
"healthCheckInterval": "00:00:10",
"healthCheckWindow": "00:02:00",
"healthCheckThreshold": 6,
"counterThreshold": 0.80
}
}
Property | Predefinição | Description |
---|---|---|
ativado | verdadeiro | Especifica se o recurso está habilitado. |
healthCheckInterval | 10 segundos | O intervalo de tempo entre as verificações periódicas de integridade de antecedentes. |
healthCheckWindow | 2 minutos | Uma janela de tempo deslizante usada em conjunto com a healthCheckThreshold configuração. |
healthCheckThreshold | 6 | Número máximo de vezes que a verificação de integridade pode falhar antes que uma reciclagem de host seja 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 gatilhos e ligações http.
registos
Controla os comportamentos de log do aplicativo de função, incluindo o Application Insights.
"logging": {
"fileLoggingMode": "debugOnly",
"logLevel": {
"Function.MyFunction": "Information",
"default": "None"
},
"console": {
...
},
"applicationInsights": {
...
}
}
Property | Predefinição | Description |
---|---|---|
fileLoggingMode | debugOnly | Determina o comportamento de log de arquivos ao executar no Azure. As opções são never , always e debugOnly . Essa configuração não é usada quando executada localmente. Quando possível, você deve usar o Application Insights ao depurar suas funções no Azure. O uso always afeta negativamente o comportamento de inicialização a frio e a taxa de transferência de dados do seu aplicativo. A configuração padrão debugOnly gera arquivos de log quando você está depurando usando o portal do Azure. |
logNível | n/d | Objeto que define a filtragem de categoria de log para funções no aplicativo. Esta definição permite-lhe filtrar o registo de funções específicas. Para obter mais informações, consulte Configurar níveis de log. |
consola | 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ó é suportado com funções baseadas no PowerShell. Ele permite que as dependências sejam gerenciadas automaticamente pelo serviço. Quando a enabled
propriedade é definida como true
, o requirements.psd1
arquivo é processado. As dependências são atualizadas quando quaisquer versões secundárias são lançadas. Para obter mais informações, consulte Dependência gerenciada no artigo do PowerShell.
{
"managedDependency": {
"enabled": true
}
}
filas
As definições de configuração podem ser encontradas em Gatilhos e associações de fila de armazenamento.
sendGrid
A definição de configuração pode ser encontrada em gatilhos e ligações do SendGrid.
serviceBus [en]
A definição de configuração pode ser encontrada em gatilhos e associações do Service Bus.
singleton
Definições de configuração para o comportamento de bloqueio Singleton. Para obter mais informações, consulte Problema do GitHub sobre suporte a singleton.
{
"singleton": {
"lockPeriod": "00:00:15",
"listenerLockPeriod": "00:01:00",
"listenerLockRecoveryPollingInterval": "00:01:00",
"lockAcquisitionTimeout": "00:01:00",
"lockAcquisitionPollingInterval": "00:00:03"
}
}
Property | Predefinição | Description |
---|---|---|
lockPeriod | 00:00:15 | O período durante o qual os bloqueios de nível de função são considerados. Os bloqueios renovam-se automaticamente. |
ouvinteLockPeriod | 00:01:00 | O período pelo qual o ouvinte trava é tomado. |
listenerLockRecoveryPollingInterval | 00:01:00 | O intervalo de tempo usado para a recuperação do bloqueio do ouvinte se um bloqueio do ouvinte não puder ser adquirido na inicialização. |
lockAcquisitionTimeout | 00:01:00 | A quantidade máxima de tempo que o tempo de execução tentará adquirir um bloqueio. |
lockAcquisitionPollingInterval | n/d | O intervalo entre as tentativas de aquisição de bloqueio. |
telemetriaModo
Esta funcionalidade está atualmente em pré-visualização.
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 suportam OpenTelemetry. Quando essa configuração é definida como OpenTelemetry
, a saída 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 OpenTelemetry com o Azure Functions.
versão
Esse valor indica a versão do esquema do host.json. A cadeia de caracteres "version": "2.0"
de versão é necessária para um aplicativo de função destinado ao tempo de execução v2 ou a uma versão posterior. Não há alterações de esquema host.json entre v2 e v3.
watchDiretórios
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 são captadas pelas suas funções.
{
"watchDirectories": [ "Shared" ]
}
watchFiles
Uma matriz de um ou mais nomes de arquivos que são monitorados para alterações que exigem que seu aplicativo seja reiniciado. Isso garante que quando o código nesses arquivos é alterado, as atualizações são captadas por suas funções.
{
"watchFiles": [ "myFile.txt" ]
}
Substituir valores host.json
Pode haver casos 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 criando um valor equivalente como uma configuração de aplicativo. Quando o tempo de execução encontra uma configuração de aplicativo no formato AzureFunctionsJobHost__path__to__setting
, ele substitui a configuração equivalente host.json localizada no path.to.setting
JSON. Quando expresso 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ê queria desabilitar a amostragem do Application Insight ao executar localmente. Se você alterou o arquivo host.json local para desabilitar o Application Insights, essa alteração poderá ser enviada por push para seu aplicativo de produção durante a implantação. A maneira mais segura de fazer isso é, em vez disso, criar uma configuração de aplicativo como "AzureFunctionsJobHost__logging__applicationInsights__samplingSettings__isEnabled":"false"
no local.settings.json
arquivo. Você pode ver isso no seguinte local.settings.json
arquivo, 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 de configurações de host.json usando variáveis de ambiente segue as convenções de nomenclatura 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, consulte Nomenclatura de variáveis de ambiente.