Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Importante
O suporte terminou para a versão 1.x do runtime do Funções do Azure a 14 de setembro de 2026. Migra as tuas aplicações para a versão 4.x para suporte total.
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 que estão disponíveis para o tempo de execução da versão 1.x. O esquema JSON está em http://json.schemastore.org/host.
Nota
Este artigo preserva a referênciahost.json para Funções do Azure runtime 1.x. Para outras informações históricas, consulte a referência legado do runtime 1.x. Para a referência host.json atual, veja host.json referência para Funções do Azure 2.x e posteriores.
Outras opções de configuração de funções são geridas nas configurações do seu aplicativo.
Algumas configurações de host.json são usadas apenas quando executadas localmente no arquivo local.settings.json .
Exemplo de arquivo host.json
Os arquivos de host.json de exemplo a seguir têm todas as opções possíveis especificadas.
{
"aggregator": {
"batchSize": 1000,
"flushTimeout": "00:00:30"
},
"applicationInsights": {
"sampling": {
"isEnabled": true,
"maxTelemetryItemsPerSecond" : 5
}
},
"documentDB": {
"connectionMode": "Gateway",
"protocol": "Https",
"leaseOptions": {
"leasePrefix": "prefix"
}
},
"eventHub": {
"maxBatchSize": 64,
"prefetchCount": 256,
"batchCheckpointFrequency": 1
},
"functions": [ "QueueProcessor", "GitHubWebHook" ],
"functionTimeout": "00:05:00",
"healthMonitor": {
"enabled": true,
"healthCheckInterval": "00:00:10",
"healthCheckWindow": "00:02:00",
"healthCheckThreshold": 6,
"counterThreshold": 0.80
},
"http": {
"routePrefix": "api",
"maxOutstandingRequests": 20,
"maxConcurrentRequests": 10,
"dynamicThrottlesEnabled": false
},
"id": "9f4ea53c5136457d883d685e57164f08",
"logger": {
"categoryFilter": {
"defaultLevel": "Information",
"categoryLevels": {
"Host": "Error",
"Function": "Error",
"Host.Aggregator": "Information"
}
}
},
"queues": {
"maxPollingInterval": 2000,
"visibilityTimeout" : "00:00:30",
"batchSize": 16,
"maxDequeueCount": 5,
"newBatchThreshold": 8
},
"sendGrid": {
"from": "Contoso Group <admin@contoso.com>"
},
"serviceBus": {
"maxConcurrentCalls": 16,
"prefetchCount": 100,
"autoRenewTimeout": "00:05:00",
"autoComplete": true
},
"singleton": {
"lockPeriod": "00:00:15",
"listenerLockPeriod": "00:01:00",
"listenerLockRecoveryPollingInterval": "00:01:00",
"lockAcquisitionTimeout": "00:01:00",
"lockAcquisitionPollingInterval": "00:00:03"
},
"tracing": {
"consoleLevel": "verbose",
"fileLoggingMode": "debugOnly"
},
"watchDirectories": [ "Shared" ],
}
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"
}
}
| Propriedade | Predefinição | Descrição |
|---|---|---|
batchSize |
1000 | Número máximo de solicitações a agregar. |
flushTimeout |
00:00:30 | Período máximo de tempo para agregação. |
As invocações de funções são agregadas quando o primeiro dos dois limites é atingido.
applicationInsights
Controla a funcionalidade de amostragem no Application Insights.
{
"applicationInsights": {
"sampling": {
"isEnabled": true,
"maxTelemetryItemsPerSecond" : 5
}
}
}
| Propriedade | Predefinição | Descrição |
|---|---|---|
isEnabled |
verdadeiro | Habilita ou desabilita a amostragem. |
maxTelemetryItemsPerSecond |
5 | O limiar a partir do qual se inicia a amostragem. |
DocumentDB
Definições de configuração para o gatilho e as ligações do Azure Cosmos DB.
{
"documentDB": {
"connectionMode": "Gateway",
"protocol": "Https",
"leaseOptions": {
"leasePrefix": "prefix1"
}
}
}
| Propriedade | Predefinição | Descrição |
|---|---|---|
| Modo Gateway | Portal | O modo de ligação utilizado pela função ao ligar ao serviço Azure Cosmos DB. As opções são Direct e Gateway |
| Protocolo | Https | O protocolo de ligação utilizado pela função ao ligar ao serviço Azure Cosmos DB. Leia aqui uma explicação de ambos os modos |
| prefixo de arrendamento | n/d | Prefixo de concessão para usar em todas as funções em um aplicativo. |
tarefa durável
Definições de configuração para Durable Functions.
Em Funções do Azure runtime 1.x, a durableTask secção está na raiz do ficheirohost.json. As definições disponíveis dependem da versão da extensão Durable Functions. Para a referência de configuração atual, veja Durable Functions host.json definições.
Hub de eventos
Definições de configuração para acionadores e associações do Hub de Eventos.
funções
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. Nas aplicações de funções em Azure, deves antes seguir os passos em Como desativar funções em Funções do Azure para desativar funções específicas em vez de usar esta definição.
{
"functions": [ "QueueProcessor", "GitHubWebHook" ]
}
função de tempo limite
Indica a duração do tempo de espera para todas as funções. Em um plano de Consumo sem servidor, o intervalo válido é de 1 segundo a 10 minutos e o valor padrão é 5 minutos. Em um plano do Serviço de Aplicativo, não há limite geral e o padrão é nulo, o que indica que não há tempo limite.
{
"functionTimeout": "00:05:00"
}
monitor de saúde
Definições de configuração para Monitor de saúde do host.
{
"healthMonitor": {
"enabled": true,
"healthCheckInterval": "00:00:10",
"healthCheckWindow": "00:02:00",
"healthCheckThreshold": 6,
"counterThreshold": 0.80
}
}
| Propriedade | Predefinição | Descrição |
|---|---|---|
| ativado | verdadeiro | Especifica se o recurso está habilitado. |
| intervaloDeVerificaçãoDeSaúde | 10 segundos | O intervalo de tempo entre as verificações periódicas de integridade de antecedentes. |
| janelaVerificaçãoSaúde | 2 minutos | Uma janela de tempo deslizante usada com a configuração healthCheckThreshold. |
| limiarDeVerificaçãoDeSaúde | 6 | Número máximo de vezes que a verificação de saúde pode falhar antes que a reinicialização do servidor seja iniciada. |
| limite do contador | 0.80 | O limite a partir do qual um contador de desempenho será considerado problemático. |
http
Definições de configuração para gatilhos HTTP e associações.
{
"http": {
"routePrefix": "api",
"maxOutstandingRequests": 200,
"maxConcurrentRequests": 100,
"dynamicThrottlesEnabled": true
}
}
| Propriedade | Predefinição | Descrição |
|---|---|---|
| aceleradoresDinâmicosAtivados | falso | Quando habilitada, essa configuração faz com que o pipeline de processamento de solicitações verifique periodicamente os contadores de desempenho do sistema, como conexões/threads/processos/memória/cpu/etc. e, se algum desses contadores estiver acima de um limite alto interno (80%), as solicitações serão rejeitadas com uma resposta 429 "Muito ocupado" até que o(s) contador(es) retorne(m) aos níveis normais. |
| máximoDePedidosConcomitantes (maxConcurrentRequests) | ilimitado (-1) |
O número máximo de funções HTTP que serão executadas em paralelo. Permite-lhe controlar a simultaneidade, o que pode ajudar a gerir a utilização de recursos. Por exemplo, você pode ter uma função HTTP que usa muitos recursos do sistema (memória/cpu/soquetes) de tal forma que causa problemas quando a simultaneidade é muito alta. Ou poderás ter uma função que faz pedidos enviados para um serviço de terceiros, e essas chamadas precisam ser limitadas em termos de taxa. Nestes casos, aplicar uma restrição aqui pode ajudar. |
| máximo de pedidos pendentes | ilimitado (-1) |
O número máximo de solicitações pendentes que são mantidas em um determinado momento. Esse limite inclui solicitações que estão na fila, mas não começaram a ser executadas, e todas as execuções em andamento. Todas as solicitações recebidas acima desse limite são rejeitadas com uma resposta 429 "Muito ocupado". Isso permite que os chamadores empreguem estratégias de repetição baseadas no tempo e também ajuda você a controlar as latências máximas de solicitação. Isso controla apenas o enfileiramento que ocorre dentro do caminho de execução do host do script. Outras filas, como a fila de pedidos ASP.NET, continuarão em vigor e não serão afetadas por esta definição. |
| routePrefix | API | O prefixo que se aplica a todas as rotas. Use uma cadeia de caracteres vazia para remover o prefixo padrão. |
identificação
A ID exclusiva de um host de trabalho. Pode ser um GUID escrito em minúsculas, com os traços removidos. Necessário quando executado localmente. Ao correr no Azure, recomendamos que não defina um valor ID. Um ID é gerado automaticamente em Azure quando id é omitido.
Se partilhar uma conta de Armazenamento em várias aplicações de função, certifique-se de que cada aplicação de função tem um id. Pode omitir a propriedade id ou definir manualmente o id de cada aplicação de função para um valor diferente. O gatilho de temporizador usa um bloqueio de armazenamento para garantir que haverá apenas uma instância de temporizador quando um aplicativo de função for expandido para várias instâncias. Se dois aplicativos de função compartilharem o mesmo id e cada um usar um gatilho de temporizador, apenas um temporizador será executado.
{
"id": "9f4ea53c5136457d883d685e57164f08"
}
logger
Controla a filtragem de logs gravados por um objeto ILogger ou por context.log.
{
"logger": {
"categoryFilter": {
"defaultLevel": "Information",
"categoryLevels": {
"Host": "Error",
"Function": "Error",
"Host.Aggregator": "Information"
}
}
}
}
| Propriedade | Predefinição | Descrição |
|---|---|---|
| filtro de categoria | n/d | Especifica a filtragem por categoria |
| nível padrão | Informação | Para quaisquer categorias não especificadas no array categoryLevels, envie logs deste nível e acima para o Application Insights. |
| níveis de categoria | n/d | Uma matriz de categorias que especifica o nível mínimo de log a ser enviado ao Application Insights para cada categoria. A categoria especificada aqui controla todas as categorias que começam com o mesmo valor, e valores mais longos têm precedência. No exemplo do arquivo host.json anterior, todas as categorias que começam com "Host.Aggregator" efetuam registos ao Information nível. Todas as outras categorias que começam com "Host", como "Host.Executor", registram no Error nível. |
filas
Definições de configuração para gatilhos e associações de filas de armazenamento.
{
"queues": {
"maxPollingInterval": 2000,
"visibilityTimeout" : "00:00:30",
"batchSize": 16,
"maxDequeueCount": 5,
"newBatchThreshold": 8
}
}
| Propriedade | Predefinição | Descrição |
|---|---|---|
| maxPollingInterval | 60000 | O intervalo máximo em milissegundos entre as consultas da fila. |
| tempo de espera de visibilidade | 0 | O intervalo de tempo entre novas tentativas quando o processamento de uma mensagem falha. |
| tamanho de batch | 16 | O número de mensagens de fila que o runtime do Functions recupera e processa em paralelo simultaneamente. Quando o número a ser processado chega a newBatchThreshold, o ambiente de execução recebe outro lote e começa a processar essas mensagens. Assim, o número máximo de mensagens simultâneas sendo processadas por função é batchSize mais newBatchThreshold. Esse limite se aplica separadamente a cada função acionada por fila. Se quiser evitar a execução paralela de mensagens recebidas em uma fila, você pode definir batchSize como 1. No entanto, essa configuração elimina a simultaneidade apenas enquanto seu aplicativo de função for executado em uma única máquina virtual (VM). Se o aplicativo de função for expandido para várias VMs, cada VM poderá executar uma instância de cada função acionada por fila.O máximo batchSize é 32. |
| maxDequeueCount | 5 | O número de vezes para tentar processar uma mensagem antes de movê-la para a fila de venenos. |
| newBatchThreshold | Tamanho do lote/2 | Sempre que o número de mensagens que estão sendo processadas simultaneamente é reduzido a esse número, o tempo de execução recupera outro lote. |
SendGrid
Configuração para a ligação de saída do SendGrid.
{
"sendGrid": {
"from": "Contoso Group <admin@contoso.com>"
}
}
| Propriedade | Predefinição | Descrição |
|---|---|---|
| de | n/d | O endereço de e-mail do remetente em todas as funções. |
serviceBus [en]
Configuração de definições para disparadores e ligações do Service Bus.
{
"serviceBus": {
"maxConcurrentCalls": 16,
"prefetchCount": 100,
"autoRenewTimeout": "00:05:00",
"autoComplete": true
}
}
| Propriedade | Predefinição | Descrição |
|---|---|---|
| máximo de chamadas simultâneas | 16 | O número máximo de chamadas simultâneas para o retorno de chamada que a bomba de mensagem deve iniciar. Por padrão, o tempo de execução do Functions processa várias mensagens simultaneamente. Para direcionar o tempo de execução para processar apenas uma única fila ou mensagem de tópico de cada vez, defina maxConcurrentCalls como 1. |
| pré-fetchCount | n/d | O PrefetchCount padrão que será usado pelo ServiceBusReceiver subjacente. |
| autoRenewTimeout | 00:05:00 | A duração máxima dentro da qual o bloqueio de mensagem será renovado automaticamente. |
| Preenchimento automático | verdadeiro | Quando verdadeiro, o gatilho conclui o processamento da mensagem automaticamente na execução bem-sucedida da operação. Se for falso, é da responsabilidade da função completar a mensagem antes de retornar. |
singleton
Definições de configuração para o comportamento do bloqueio de Singleton. Para mais informações, consulte o tópico 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"
}
}
| Propriedade | Predefinição | Descrição |
|---|---|---|
| período de bloqueio | 00:00:15 | O período durante o qual são aplicados os bloqueios de nível de função. Os bloqueios renovam-se automaticamente. |
| ouvintePeríodoDeBloqueio | 00:01:00 | O período durante o qual os bloqueios do ouvinte são mantidos. |
| intervaloDeSondagemDeRecuperaçãoDeBloqueioDoListener | 00:01:00 | O intervalo de tempo usado para a recuperação do bloqueio do ouvinte se o bloqueio do ouvinte não puder ser adquirido na inicialização. |
| lockAcquisitionTimeout | 00:01:00 | A quantidade máxima de tempo que o sistema de execução tenta obter um bloqueio. |
| lockAcquisitionPollingInterval | n/d | O intervalo entre as tentativas de obtenção de bloqueio. |
rastreio
Versão 1.x
Definições de configuração para logs que crias utilizando um objeto TraceWriter. Para saber mais, consulte [Registo em C#].
{
"tracing": {
"consoleLevel": "verbose",
"fileLoggingMode": "debugOnly"
}
}
| Propriedade | Predefinição | Descrição |
|---|---|---|
| nível de consola | informação | O nível de rastreamento para registro em log do console. As opções são: off, error, warning, info, e verbose. |
| modoDeRegistoDeFicheiros | debugOnly | O nível de rastreio para registro de arquivos. As opções são never, always, debugOnly. |
diretórios de monitorização
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 refletidas nas suas funções.
{
"watchDirectories": [ "Shared" ]
}