Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você 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 de uma instância de aplicativo de funções. Este artigo lista as configurações disponíveis para o runtime da versão 1.x. O esquema JSON está em http://json.schemastore.org/host.
Observação
Este artigo serve para o Azure Functions 1.x. Para obter uma referência de host.json no Functions 2.x e posterior, confira Referência de host.json para o Azure Functions 2.x.
Outras opções de configuração de aplicativo de funções são gerenciadas nas configurações de aplicativo.
Algumas configurações host.json são usadas apenas quando executadas localmente no arquivo local.settings.json.
Arquivo host.json de exemplo
Os seguintes arquivos host.json de exemplo 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 seguintes deste artigo explicam cada uma das principais propriedades. 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
Controla o recurso de amostragem no Application Insights.
{
"applicationInsights": {
"sampling": {
"isEnabled": true,
"maxTelemetryItemsPerSecond" : 5
}
}
}
| Propriedade | Padrão | Descrição |
|---|---|---|
| está ativado | verdadeiro | Habilita ou desabilita a amostragem. |
| maxTelemetryItemsPerSecond | 5 | O limite em que a amostragem começa. |
DocumentDB
Definições de configuração para o gatilho do Azure Cosmos DB e associações.
{
"documentDB": {
"connectionMode": "Gateway",
"protocol": "Https",
"leaseOptions": {
"leasePrefix": "prefix1"
}
}
}
| Propriedade | Padrão | Descrição |
|---|---|---|
| GatewayMode | Porta de entrada | O modo de conexão usado pela função ao se conectar ao serviço do Azure Cosmos DB. As opções são Direct e Gateway |
| Protocolo | Https | O protocolo de conexão usado pela função ao se conectar ao serviço do Azure Cosmos DB. Leia aqui para obter uma explicação de ambos os modos |
| leasePrefix | n/d | Prefixo de concessão a ser usado em todas as funções em um aplicativo. |
durableTask
Definições de configuração para Funções Duráveis.
Observação
Todas as versões principais das Durable Functions são compatíveis com todas as versões do Azure Functions Runtime. No entanto, o esquema da configuração dehost.json difere ligeiramente dependendo da versão do runtime 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: um para Durable Functions 2.x e outro para Durable Functions 1.x. Você pode usar os dois 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 seção durableTask de host.json está localizada na raiz da configuração 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 padrão | Descrição |
|---|---|---|
| nome do hub | TestHubName (DurableFunctionsHub na v1.x) | O nome do hub que armazena o estado atual de um aplicativo de funções. Nomes de hubs de tarefas devem começar com uma letra e devem ser compostos somente por letras e números. Se você não especificar um nome, o valor padrão será usado. Nomes alternativos do hub de tarefas podem ser usados para isolar vários aplicativos de Funções Duráveis uns dos outros, mesmo que 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 de tempo de inatividade zero com alterações interruptivas. Você pode usar qualquer valor de string para a versão. | |
| versionMatchStrategy | CurrentOrOlder | Um valor que especifica como as versões de orquestração são correspondidas quando as funções do orquestrador são carregadas. Os valores válidos são None, Strict e CurrentOrOlder. Para obter explicações detalhadas, consulte Controle de versão de orquestração. |
| versionFailureStrategy | 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 Controle de versão de orquestração. |
| controlQueueBatchSize | 32 | O número de mensagens para efetuar pull da fila de controle por vez. |
| controlQueueBufferThreshold |
Plano de consumo para Python: 32 Plano de consumo para outros idiomas: 128 Plano Dedicado ou Premium: 256 |
O número de mensagens de fila de controle que podem ser armazenadas em buffer na memória de uma só vez. Quando o número especificado é atingido, o dispatcher aguarda antes de desativar qualquer outra mensagem. Em algumas situações, reduzir esse valor pode reduzir significativamente o consumo de memória. |
| partitionCount | 4 | A contagem de partição para a fila de controle. Esse valor deve ser um inteiro positivo entre 1 e 16. Alterar esse valor requer a configuração de um novo hub de tarefas. |
| controlQueueVisibilityTimeout | 00:05:00 | O tempo limite de visibilidade das mensagens desencadeadas na fila de controle no formato hh:mm:ss. |
| workItemQueueVisibilityTimeout | 00:05:00 | O tempo limite de visibilidade de mensagens de fila de itens de trabalho desenfileiradas 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 no computador 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 no computador atual |
O número máximo de funções do orquestrador que podem ser processadas simultaneamente em uma única instância do host. |
| maxConcurrentEntityFunctions |
Plano de Consumo: 5 Plano Dedicado ou Premium: 10 vezes o número de processadores no computador 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 ao valor maxConcurrentOrchestratorFunctions. |
| maxQueuePollingInterval | 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 maiores devido a um maior número de transações de armazenamento. |
| maxOrchestrationActions | 100,000 | O número máximo de ações que uma função de orquestrador pode executar durante um único ciclo de execução. |
| connectionName (v2.7.0 e posterior) connectionStringName (v2.x) azureStorageConnectionStringName (v1.x) |
AzureWebJobsStorage | O nome de uma configuração de um aplicativo ou de uma 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 Microsoft 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 de Histórico e Instâncias, que armazenam o histórico de execução e os 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 serviço de Armazenamento do Azure. Se você não especificar uma configuração, o valor de conexão connectionStringName (v2.x) ou azureStorageConnectionStringName (v1.x) será usado. |
|
| trackingStoreNamePrefix | O prefixo a ser usado para as tabelas de histórico e de instâncias quando trackingStoreConnectionStringName for especificado. Se você não especificar um prefixo, o valor padrão será DurableTask usado. Se trackingStoreConnectionStringName não for especificado, as tabelas Histórico e Instâncias usarão o hubName valor como prefixo 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 tem como objetivo fornecer informações mínimas sobre as entradas e saídas para que 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 reprodução da orquestração devem ser gravados no Application Insights. |
| logReplayEvents | falso | Um valor que indica se as execuções reproduzidas devem ser registradas em logs de aplicativos. |
| eventGridTopicEndpoint | O URL de um ponto de extremidade de tópico personalizado da Grade de Eventos do Azure. Quando você configura essa propriedade, os eventos de notificação do ciclo de vida de orquestração são publicados neste endpoint. Esta propriedade suporta a resolução de configurações de aplicativo. | |
| eventGridKeySettingName | O nome da configuração do aplicativo que contém a chave usada para autenticar com o tópico personalizado do Event Grid na URL EventGridTopicEndpoint. |
|
| eventGridPublishRetryCount | 0 | O número de vezes a tentar novamente se a publicação no tópico da Grade de Eventos falhar. |
| eventGridPublishRetryInterval | 00:05:00 | O intervalo de repetição de publicaçã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, Failede Terminated. |
|
| extendedSessionsEnabled | falso | Um valor que especifica se as sessões do orquestrador de sessão e de função de entidade são armazenadas em cache. |
| extendedSessionIdleTimeoutInSeconds | 30 | O número de segundos em que uma função de entidade ou orquestrador ocioso permanece na memória antes de ser descarregada. Essa configuração só é usada quando a extendedSessionsEnabled configuração é true. |
| useAppLease | verdadeiro | Um valor que indica se os aplicativos devem adquirir uma concessão de blob no nível do aplicativo antes de processar mensagens do hub de tarefas. Para obter mais informações, consulte Recuperação de desastre e distribuição geográfica em Durable Functions. Essa configuração está disponível a partir da v2.3.0. |
| useLegacyPartitionManagement | falso | Um valor que especifica o tipo de algoritmo de gerenciamento de partição a ser usado. Quando essa configuração for false, um algoritmo é usado que reduz a possibilidade de execução de função duplicada ao expandir. Essa configuração está disponível a partir da v2.3.0.
Não é recomendável definir true esse valor. |
| useTablePartitionManagement | Na v3.x: verdadeiro Em v2.x: falso |
Um valor que especifica o tipo de algoritmo de gerenciamento de partição a ser usado. Quando essa configuração é true, um algoritmo é usado que é projetado para reduzir os 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 | (Versão prévia) Um valor que indica se deve ser feito um desligamento de forma controlada para reduzir a chance de desligamentos do host, o que pode causar falhas nas execuções das funções em processo. |
| maxEntityOperationBatchSize |
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. Essa configuração está disponível a partir da v2.6.1. |
| storeInputsInOrchestrationHistory | falso | Um valor que especifica como armazenar entradas. Quando essa configuração é true, o Framework de Tarefas Duráveis salva as entradas de atividade na tabela de Histórico, e as entradas da função de atividade aparecem nos resultados das consultas do histórico de orquestração. |
| maxGrpcMessageSizeInBytes | 4,194,304 | Um valor inteiro que define o tamanho máximo, em bytes, das mensagens que o cliente de chamada de procedimento remoto genérico (gRPC) pode receber. A implementação de DurableTaskClient usa o cliente gRPC para gerenciar instâncias de orquestração. Essa configuração se aplica a aplicativos Java e de trabalho isolados do .NET do Durable Functions. |
| grpcHttpClientTimeout | 00:01:40 | O tempo limite no formato hh:mm:ss para o cliente HTTP usado pelo cliente gRPC no Durable Functions. No momento, o cliente tem suporte 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 UTF8 (Formato de Transformação Unicode) 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 servem para otimizar o desempenho. Para obter mais informações, consulte Desempenho e escala.
eventHub
Definições de configuração para gatilhos e associações de Hub de Eventos.
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 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 de Serviço de Aplicativo, não há limite geral e o valor padrão é nulo, o que indica que não há nenhum tempo limite.
{
"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 | verdadeiro | 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 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
Parâmetros de configuração para gatilhos e associações http.
{
"http": {
"routePrefix": "api",
"maxOutstandingRequests": 200,
"maxConcurrentRequests": 100,
"dynamicThrottlesEnabled": true
}
}
| Propriedade | Padrão | Descrição |
|---|---|---|
| dynamicThrottlesEnabled | falso | Quando habilitada, essa configuração faz com que o pipeline de processamento de solicitações verifique periodicamente contadores de desempenho do sistema, como connections/threads/processes/memory/cpu/etc. e, se qualquer um desses contadores ultrapassar um limite alto interno (80%), as solicitações serão rejeitadas com uma resposta "Muito ocupado" 429 até que os contadores retornem aos níveis normais. |
| máximo de solicitações simultâneas | ilimitado (-1) |
O número máximo de funções HTTP que serão executadas em paralelo. Isso permite controlar a simultaneidade, o que pode ajudar a gerenciar a utilização de recursos. Por exemplo, talvez você tenha uma função HTTP que use muitos recursos do sistema (memória/cpu/soquetes), de modo que ela causará problemas quando a simultaneidade for muito alta. Ou talvez você tenha uma função que faça solicitações de saída a um serviço de terceiro, e essas chamadas precisem ser limitadas por taxa. Nesses casos, aplicar uma limitação aqui pode ajudar. |
| máximo de solicitações pendentes | ilimitado (-1) |
O número máximo de solicitações pendentes mantidas em um dado momento. Esse limite inclui solicitações que estão na fila, mas não iniciaram a execução, e qualquer execução em andamento. Quaisquer solicitações recebidas acima desse limite são rejeitadas com uma resposta "Muito ocupado" 429. Isso permite que os chamadores empreguem estratégias de repetição com base em tempo e também ajuda você a controlar as latências máximas de solicitação. Isso controla apenas o enfileiramento que ocorre no caminho de execução do host de script. Outras filas, como a fila de solicitação ASP.NET, ainda estarão em vigor e não serão afetadas por esta configuração. |
| routePrefix | api | O prefixo da rota que se aplica a todas as rotas. Use uma cadeia de caracteres vazia para remover o prefixo padrão. |
id
A ID exclusiva do host de trabalho. Pode ser uma GUID em letras minúsculas, sem traços. Obrigatório ao executar localmente. Ao executar no Azure, é recomendável que você não defina um valor de ID. Uma ID é gerada automaticamente no Azure quando id está omitido.
Se você compartilhar uma conta de Armazenamento em vários aplicativos de funções, verifique se cada aplicativo de função tem um id diferente. É possível omitir a propriedade id ou definir manualmente cada aplicativo de funções id para um valor diferente. O gatilho de cronômetro usa um bloqueio de armazenamento para garantir que haverá apenas uma instância de cronômetro quando um aplicativo de funções for escalado para várias instâncias. Se dois aplicativos de funções compartilharem o mesmo id e cada um usar um gatilho de temporizador, somente um temporizador irá executar.
{
"id": "9f4ea53c5136457d883d685e57164f08"
}
agente
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 | Padrão | Descrição |
|---|---|---|
| filtro de categoria | n/d | Especifica a filtragem por categoria |
| nível padrão | Informações | Para as categorias não especificadas na matriz categoryLevels, envie logs nesse nível e acima para o Application Insights. |
| categoryLevels | n/d | Uma matriz de categorias que especifica o nível mínimo de logs que será enviado ao Application Insights para cada categoria. A categoria especificada aqui controla todas as categorias que começam com o mesmo valor, com precedência para os valores maiores. No arquivo de exemplo host.json anterior, todas as categorias que começam com "Host.Aggregator" fazem o registro no nível Information. Todas as outras categorias que começam com o log "Host", como "Host.Executor", no nível Error. |
filas
Parâmetros de configuração para gatilhos e associações de Armazenamento.
{
"queues": {
"maxPollingInterval": 2000,
"visibilityTimeout" : "00:00:30",
"batchSize": 16,
"maxDequeueCount": 5,
"newBatchThreshold": 8
}
}
| Propriedade | Padrão | Descrição |
|---|---|---|
| maxPollingInterval | 60000 | O intervalo máximo em milissegundos entre as votações da fila. |
| visibilityTimeout | 0 | O intervalo de tempo entre as repetições quando o processamento de uma mensagem falha. |
| batchSize | 16 | O número de mensagens em fila que o runtime de Funções recupera simultaneamente e processa em paralelo. Quando o número que está sendo processado chega até newBatchThreshold, o runtime obtém outro lote e começa a processar as mensagens. Portanto, o número máximo de mensagens simultâneas que estão sendo processadas por função é batchSize mais newBatchThreshold. Esse limite se aplica separadamente a cada função acionada por fila. Se quiser evitar uma execução paralela para mensagens recebidas em uma fila, é possível definir batchSize como 1. No entanto, essa configuração elimina a simultaneidade desde que seu aplicativo de função seja executado em uma única máquina virtual (VM). Se o aplicativo de função se expande para várias VMs, cada VM pode 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 mensagens suspeitas. |
| newBatchThreshold | batchSize/2 | Sempre que o número de mensagens processadas simultaneamente chega a esse número, o runtime recupera outro lote. |
SendGrid
Definição de configuração para a associação de saída SendGrind
{
"sendGrid": {
"from": "Contoso Group <admin@contoso.com>"
}
}
| Propriedade | Padrão | Descrição |
|---|---|---|
| de | n/d | Endereço de email do remetente em todas as funções. |
serviceBus
Parâmetro de configuração para gatilhos e associações do Barramento de Serviço.
{
"serviceBus": {
"maxConcurrentCalls": 16,
"prefetchCount": 100,
"autoRenewTimeout": "00:05:00",
"autoComplete": true
}
}
| Propriedade | Padrão | Descrição |
|---|---|---|
| maxConcurrentCalls | 16 | O número máximo de chamadas simultâneas para o retorno de chamada que a bomba de mensagens deve iniciar. Por padrão, o runtime do Functions processa várias mensagens simultaneamente. Para direcionar o runtime para processar uma única fila ou mensagem de tópico de cada vez, defina maxConcurrentCalls como 1. |
| prefetchCount | n/d | O PrefetchCount padrão que será usado pelo ServiceBusReceiver subjacente. |
| autoRenewTimeout | 00:05:00 | A duração máxima na qual o bloqueio de mensagem será renovado automaticamente. |
| autoComplete | verdadeiro | Quando verdadeiro, o gatilho conclui automaticamente o processamento da mensagem após a execução bem-sucedida da operação. Quando false, é responsabilidade da função concluir a mensagem antes de retornar. |
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 |
|---|---|---|
| período de bloqueio | 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. |
rastreamento
Versão 1.x
Parâmetros de configuração para logs que você cria usando um objeto TraceWriter. Para saber mais, consulte [Registrar em log C#].
{
"tracing": {
"consoleLevel": "verbose",
"fileLoggingMode": "debugOnly"
}
}
| Propriedade | Padrão | Descrição |
|---|---|---|
| consoleLevel | informações | O nível de rastreamento para o registro em log no console. As opções são: off, error, warning, info e verbose. |
| fileLoggingMode | debugOnly | O nível de rastreamento para registros em log de arquivo. As opções são: never, always e debugOnly. |
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" ]
}