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.
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 é para o Azure Functions 1.x. Para consultar a referência de host.json para Azure Functions versões 2.x e posteriores, consulte referência de host.json para Azure Functions 2.x.
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 |
|---|---|---|
| tamanho de batch | 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ção 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 |
|---|---|---|
| está ativado | verdadeiro | Habilita ou desabilita a amostragem. |
| itensMaximosDeTelemetriaPorSegundo | 5 | O limiar a partir do qual se inicia a amostragem. |
Banco de Dados de Documentos
Definições de configuração para o gatilho e associações do Azure Cosmos DB.
{
"documentDB": {
"connectionMode": "Gateway",
"protocol": "Https",
"leaseOptions": {
"leasePrefix": "prefix1"
}
}
}
| Propriedade | Predefinição | Descrição |
|---|---|---|
| Modo Gateway | Portal | O modo de conexão usado pela função ao se conectar ao serviço Azure Cosmos DB. As opções são Direct e Gateway |
| Protocolo | Disponível em: | O protocolo de conexão usado pela função ao se conectar 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 Funções Duráveis.
Nota
Todas as versões principais do Durable Functions são suportadas em todas as versões do tempo de execução do Azure Functions. No entanto, o esquema da configuração do host.json difere ligeiramente dependendo da versão do tempo de execução do Azure Functions e da versão da extensão Durable Functions que você usa.
O código a seguir fornece dois exemplos de durableTask configurações em host.json: uma para Durable Functions 2.x e outra para Durable Functions 1.x. Você pode usar ambos os exemplos com o Azure Functions 2.0 e 3.0. Com o Azure Functions 1.0, as configurações disponíveis são as mesmas, mas a durableTask seção de host.json está localizada na raiz da configuração do host.json , em vez de ser um campo em extensions.
{
"extensions": {
"durableTask": {
"hubName": "MyTaskHub",
"defaultVersion": "1.0",
"versionMatchStrategy": "CurrentOrOlder",
"versionFailureStrategy": "Reject",
"storageProvider": {
"connectionStringName": "AzureWebJobsStorage",
"controlQueueBatchSize": 32,
"controlQueueBufferThreshold": 256,
"controlQueueVisibilityTimeout": "00:05:00",
"FetchLargeMessagesAutomatically": true,
"maxQueuePollingInterval": "00:00:30",
"partitionCount": 4,
"trackingStoreConnectionStringName": "TrackingStorage",
"trackingStoreNamePrefix": "DurableTask",
"useLegacyPartitionManagement": false,
"useTablePartitionManagement": true,
"workItemQueueVisibilityTimeout": "00:05:00",
"QueueClientMessageEncoding": "UTF8"
},
"tracing": {
"traceInputsAndOutputs": false,
"traceReplayEvents": false,
},
"notifications": {
"eventGrid": {
"topicEndpoint": "https://topic_name.westus2-1.eventgrid.azure.net/api/events",
"keySettingName": "EventGridKey",
"publishRetryCount": 3,
"publishRetryInterval": "00:00:30",
"publishEventTypes": [
"Started",
"Completed",
"Failed",
"Terminated"
]
}
},
"maxConcurrentActivityFunctions": 10,
"maxConcurrentOrchestratorFunctions": 10,
"maxConcurrentEntityFunctions": 10,
"extendedSessionsEnabled": false,
"extendedSessionIdleTimeoutInSeconds": 30,
"useAppLease": true,
"useGracefulShutdown": false,
"maxEntityOperationBatchSize": 50,
"maxOrchestrationActions": 100000,
"storeInputsInOrchestrationHistory": false
}
}
}
| Propriedade | Valor predefinido | Descrição |
|---|---|---|
| nome do hub | TestHubName (DurableFunctionsHub em v1.x) | O nome do hub que armazena o estado atual de um aplicativo de função. Os nomes do hub de tarefas devem começar com uma letra e consistir apenas em letras e números. Se você não especificar um nome, o valor padrão será usado. Nomes alternativos de hub de tarefas podem ser usados para isolar vários aplicativos de Funções Duráveis uns dos outros, mesmo que eles usem o mesmo back-end de armazenamento. Para obter mais informações, consulte hubs de tarefas. |
| defaultVersion | A versão padrão a ser atribuída a novas instâncias de orquestração. Quando você especifica uma versão, novas instâncias de orquestração são permanentemente associadas a esse valor de versão. Essa configuração é usada pelo recurso de controle de versão de orquestração para habilitar cenários como implantações sem interrupção com alterações disruptivas. Você pode usar qualquer valor de cadeia de caracteres para a versão. | |
| versãoMatchStrategy | AtualOuMaisAntigo | Um valor que especifica como as versões de orquestração são associadas quando as funções do orquestrador são carregadas. Os valores válidos são None, Stricte CurrentOrOlder. Para obter explicações detalhadas, consulte Versão de orquestração. |
| EstratégiaDeFalhaDaVersão | Rejeitar | Um valor que especifica o que acontece quando uma versão de orquestração não corresponde ao valor atual defaultVersion . Os valores válidos são Reject e Fail. Para obter explicações detalhadas, consulte Versões da orquestração. |
| controlQueueBatchSize | 32 | O número de mensagens a serem extraídas da fila de controle de cada vez. |
| controlQueueBufferThreshold |
Plano de consumo para Python: 32 Plano de consumo para outras línguas: 128 Plano Dedicado ou Premium: 256 |
O número de mensagens da fila de controle que podem ser armazenadas em buffer na memória simultaneamente. Quando o número especificado é atingido, o dispatcher aguarda antes de dequeuar quaisquer outras mensagens. Em algumas situações, reduzir esse valor pode reduzir significativamente o consumo de memória. |
| contagemDePartições | 4 | O número de partições para a fila de controlo. Este valor deve ser um número inteiro positivo entre 1 e 16. A alteração desse valor requer a configuração de um novo hub de tarefas. |
| tempo limite de visibilidade da fila de controlo | 00:05:00 | O tempo limite de visibilidade das mensagens da fila de controle desfilada no formato hh:mm:ss . |
| TempoDeEsperaDeVisibilidadeNaFilaDeItensDeTrabalho (workItemQueueVisibilityTimeout) | 00:05:00 | O tempo de visibilidade das mensagens da fila de itens de trabalho no formato hh:mm:ss. |
| BuscarMensagensGrandesAutomaticamente | verdadeiro | Um valor que especifica se as mensagens grandes devem ser recuperadas em consultas de status de orquestração. Quando essa configuração é true, mensagens grandes que excedem o limite de tamanho da fila são recuperadas. Quando essa configuração é false, uma URL de blob que aponta para cada mensagem grande é recuperada. |
| maxConcurrentActivityFunctions |
Plano de consumo: 10 Plano Dedicado ou Premium: 10 vezes o número de processadores na máquina atual |
O número máximo de funções de atividade que podem ser processadas simultaneamente em uma única instância de host. |
| maxConcurrentOrchestratorFunctions |
Plano de consumo: 5 Plano Dedicado ou Premium: 10 vezes o número de processadores na máquina atual |
O número máximo de funções do orchestrator que podem ser processadas simultaneamente em uma única instância de host. |
| Funções de Entidade Concorrente Máximas |
Plano de consumo: 5 Plano Dedicado ou Premium: 10 vezes o número de processadores na máquina atual |
O número máximo de funções de entidade que podem ser processadas simultaneamente em uma única instância de host. Essa configuração é aplicável somente quando você usa o agendador de tarefas durável. Caso contrário, o número máximo de execuções simultâneas de entidade é limitado pelo valor maxConcurrentOrchestratorFunctions. |
| IntervaloMáximoDeInterrogaçãoDaFila | 00:00:30 | O intervalo máximo de controle e de sondagem da fila de itens de trabalho no formato hh:mm:ss. Valores mais altos podem resultar em latências de processamento de mensagens mais altas. Valores mais baixos podem resultar em custos de armazenamento mais altos devido ao aumento das transações de armazenamento. |
| maxOrchestrationActions | 100,000 | O número máximo de ações que uma função orquestradora pode executar durante um único ciclo de execução. |
| nomeDeConexão (v2.7.0 e posterior) connectionStringName (v2.x) azureStorageConnectionStringName (v1.x) |
AzureWebJobsStorage | O nome de uma configuração de aplicativo ou coleção de configurações que especifica como se conectar aos recursos subjacentes do Armazenamento do Azure. Quando você fornece uma única configuração de aplicativo, ela deve ser uma cadeia de conexão do Armazenamento do Azure. |
| trackingStoreConnectionName (v2.7.0 e posterior) trackingStoreConnectionStringName |
O nome de uma configuração de aplicativo ou coleção de configurações que especifica como se conectar às tabelas Histórico e Instâncias, que armazenam o histórico de execução e metadados sobre instâncias de orquestração. Quando você fornece uma única configuração de aplicativo, ela deve ser uma cadeia de conexão do Armazenamento do Azure. Se não especificar uma definição, a conexão connectionStringName (v2.x) ou azureStorageConnectionStringName (v1.x) será utilizada. |
|
| trackingStoreNamePrefix | O prefixo a ser usado para as tabelas de histórico e instâncias quando trackingStoreConnectionStringName for especificado. Se você não especificar um prefixo, o valor padrão de DurableTask será usado. Se trackingStoreConnectionStringName não for especificado, as tabelas Histórico e Instâncias usarão o valor como prefixo hubName e a trackingStoreNamePrefix configuração será ignorada. |
|
| traceInputsAndOutputs | falso | Um valor que indica se as entradas e saídas de chamadas de função devem ser rastreadas. Quando os eventos de execução de função são rastreados, o comportamento padrão é incluir o número de bytes nas entradas e saídas serializadas para chamadas de função. Esse comportamento fornece informações mínimas sobre as entradas e saídas para que ele não inche os logs ou exponha inadvertidamente informações confidenciais. Quando essa propriedade é true, todo o conteúdo de entradas e saídas de função são registrados. |
| traceReplayEvents | falso | Um valor que indica se os eventos de repetição de orquestração devem ser gravados no Application Insights. |
| logReplayEvents | falso | Um valor que indica se as execuções repetidas devem ser registradas em logs de aplicativos. |
| eventGridTopicEndpoint | A URL do ponto de extremidade de um tópico personalizado da Grade de Eventos do Azure. Quando esta propriedade é definida, os eventos de notificação do ciclo de vida da orquestração são publicados neste endpoint. Esta propriedade suporta a resolução de configurações do aplicativo. | |
| NomeDeConfiguraçãoDaChaveDoEventGrid | O nome da definição da aplicação que contém a chave usada para autenticar com o tópico personalizado da Grelha de Eventos na URL EventGridTopicEndpoint. |
|
| ContagemRepetiçõesPublicarEventGrid | 0 | O número de vezes para repetir a tentativa se a publicação no tópico Event Grid falhar. |
| IntervaloDeReintentoDePublicaçãoDoEventGrid | 00:05:00 | O intervalo de publicação-repetição da Grade de Eventos no formato hh:mm:ss . |
| eventGridPublishEventTypes | Uma lista de tipos de eventos a serem publicados na Grade de Eventos. Se você não especificar nenhum tipo, todos os tipos de evento serão publicados. Os valores permitidos incluem Started, Completed, Failed, e Terminated. |
|
| extendedSessionsEnabled (sessõesProlongadasAtivadas) | falso | Um valor que especifica se o orquestrador de sessão e as sessões de função de entidade são armazenadas em cache. |
| tempoLimiteExtensoDeSessaoInativaEmSegundos | 30 | O número de segundos que um orquestrador ocioso ou função de entidade permanece na memória antes de ser descarregado. Essa configuração só é usada quando a extendedSessionsEnabled configuração é true. |
| useAppLease | verdadeiro | Um valor que indica se as aplicações devem adquirir uma concessão de blob ao nível da aplicação antes de processar mensagens do hub de tarefas. Para obter mais informações, consulte Recuperação de desastres e distribuição geográfica em funções duráveis. Esta definição está disponível a partir da v2.3.0. |
| utilizarGestãoDePartiçãoLegada | falso | Um valor que especifica o tipo de algoritmo de gerenciamento de partição a ser usado. Quando esta configuração é false, é utilizado um algoritmo que reduz a possibilidade de execução duplicada de funções ao expandir a escala. Esta definição está disponível a partir da v2.3.0.
Definir esse valor como true não é recomendado. |
| utilizarGestãoDePartiçãoDeTabela | Na v3.x: true Na v2.x: false |
Um valor que especifica o tipo de algoritmo de gerenciamento de partição a ser usado. Quando essa configuração é true, é usado um algoritmo projetado para reduzir custos para contas do Armazenamento do Azure v2. Essa configuração está disponível a partir de WebJobs.Extensions.DurableTask v2.10.0. Usar essa configuração com uma identidade gerenciada requer WebJobs.Extensions.DurableTask v3.x ou posterior, ou Worker.Extensions.DurableTask v1.2.x ou posterior. |
| useGracefulShutdown | falso | (Pré-visualização) Um valor que indica se deve ser desligado normalmente para reduzir a chance de desligamentos de host causarem falhas nas execuções de funções em processo. |
| TamanhoMáximoLoteOperaçãoEntidade |
Plano de consumo: 50 Plano Dedicado ou Premium: 5.000 |
O número máximo de operações de entidade que são processadas como um lote. Se esse valor for 1, o envio em lote será desabilitado e uma invocação de função separada processará cada mensagem de operação. Esta definição está disponível a partir da v2.6.1. |
| armazenarEntradasNoHistóricoDeOrquestração | falso | Um valor que especifica como armazenar entradas. Quando esta definição é true, o Durable Task Framework guarda os dados de atividade na tabela de Histórico, e os dados das funções de atividade aparecem nos resultados das consultas de histórico de orquestração. |
| tamanhoMáximoDeMensagemGrpcEmBytes | 4,194,304 | Um valor inteiro que define o tamanho máximo, em bytes, das mensagens que o cliente gRPC (Chamada de Procedimento Remoto) genérico pode receber. A implementação de DurableTaskClient usa o cliente gRPC para orquestrar instâncias de orquestração. Essa configuração se aplica a funções duráveis, trabalhadores isolados .NET e aplicativos Java. |
| grpcHttpClientTimeout | 00:01:40 | O tempo limite no formato hh:mm:ss para o cliente HTTP usado pelo cliente do gRPC em Funções Duráveis. Atualmente, o cliente é suportado para aplicativos de trabalho isolados do .NET (.NET 6 e versões posteriores) e para aplicativos Java. |
| QueueClientMessageEncoding | UTF8 | A estratégia de codificação para mensagens do Armazenamento de Filas do Azure. As estratégias válidas são Unicode Transformation Format–8-bit (UTF8) e Base64. Essa configuração se aplica quando você usa Microsoft.Azure.WebJobs.Extensions.DurableTask 3.4.0 ou posterior, ou Microsoft.Azure.Functions.Worker.Extensions.DurableTask 1.7.0 ou posterior. |
Muitas dessas configurações são para otimizar o desempenho. Para obter mais informações, consulte Desempenho e escala.
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. 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" ]
}
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 o monitor de integridade 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. |
| counterThreshold | 0.80 | O limite a partir do qual um contador de desempenho será considerado problemático. |
http
Definições de configuração para Http - gatilhos e ligaçõ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. |
| 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 do 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 executar no Azure, recomendamos que você não defina um valor de ID. Uma ID é gerada automaticamente no Azure quando id é omitida.
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
Definição de configuração para a associação de saída 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]
Definição de configuração para gatilhos e associaçõ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 obter mais informações, consulte Questão do GitHub sobre o suporte a singletons.
{
"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" ]
}