Compartilhar via


Editar as configurações de host e de aplicativo para aplicativos lógicos Standard nos Aplicativos Lógicos do Azure de locatário único

Aplica-se a: Aplicativos Lógicos do Azure (Standard)

Nos Aplicativos Lógicos do Azure de locatário único, as configurações de aplicativo de um aplicativo lógico padrão especificam as opções de configuração global que afetam todos os fluxos de trabalho nesse aplicativo lógico. No entanto, essas configurações se aplicam somente quando esses fluxos de trabalho são executados no ambiente de desenvolvimento local. Durante a execução local, os fluxos de trabalho podem acessar essas configurações de aplicativo como variáveis de ambiente local, que são usadas por ferramentas de desenvolvimento locais para valores que geralmente podem trocar de ambiente. Por exemplo, esses valores podem conter cadeias de conexão. Quando você faz a implantação no Azure, as configurações de aplicativo são ignoradas e não são incluídas na implantação.

Seu aplicativo lógico também tem configurações de host, que especificam as definições de configuração de runtime e os valores que se aplicam a todos os fluxos de trabalho desse aplicativo lógico, por exemplo, valores padrão para taxa de transferência, capacidade, tamanho de dados etc., sejam eles executados localmente ou no Azure.

Configurações de aplicativo, parâmetros e implantação

Nos Aplicativos Lógicos do Azure multilocatário, a implantação depende de modelos do ARM (modelos do Resource Manager), que combinam e processam o provisionamento de recursos para os aplicativos lógicos e a infraestrutura. Esse design representa um desafio quando você precisa manter variáveis de ambiente para aplicativos lógicos entre vários ambientes de desenvolvimento, teste e produção. Tudo em um modelo do ARM é definido na implantação. Se você precisar alterar apenas uma variável, precisará reimplantar tudo.

Nos Aplicativos Lógicos do Azure de locatário único, a implantação fica mais fácil, pois você pode separar o provisionamento de recursos entre os aplicativos e a infraestrutura. Use parâmetros para eliminar valores que podem mudar entre ambientes. Ao definir os parâmetros a serem usados nos fluxos de trabalho, primeiro, você pode se concentrar em criar os fluxos de trabalho e inserir as variáveis específicas do ambiente mais tarde. Você pode chamar e referenciar as variáveis de ambiente em runtime usando parâmetros e configurações de aplicativo. Dessa forma, não será preciso reimplantá-las com frequência.

As configurações de aplicativo se integram ao Azure Key Vault. Você pode referenciar diretamente cadeias de caracteres seguras, como cadeias de conexão e chaves. De modo semelhante aos modelos do ARM (modelos do Azure Resource Manager), em que você pode definir variáveis de ambiente no momento da implantação, defina as configurações de aplicativo na definição de fluxo de trabalho do aplicativo lógico. Em seguida, você pode capturar os valores da infraestrutura gerados dinamicamente, como pontos de extremidade de conexão, cadeias de caracteres de armazenamento, entre outros. No entanto, as configurações de aplicativo têm limitações de tamanho e não podem ser referenciadas em algumas áreas nos Aplicativos Lógicos do Azure.

Observação

Se você usar o Key Vault, certifique-se de armazenar apenas segredos, como senhas, credenciais e certificados. Em um fluxo de trabalho de aplicativo lógico, não use o Key Vault para armazenar valores que não são segredos, como caminhos de URL, que o designer do fluxo de trabalho precisa fazer chamadas. O designer não pode desreferenciar uma configuração de aplicativo que faça referência a um tipo de recurso do Key Vault; isso resulta em um erro e uma chamada com falha. Para valores que não são segredos, armazene-os diretamente nas configurações do aplicativo.

Para obter mais informações sobre como configurar seus aplicativos lógicos para implantação, confira a seguinte documentação:

Estrutura do projeto do Visual Studio Code

No Visual Studio Code, seu projeto de aplicativo lógico tem um dos seguintes tipos:

  • Baseado em pacote de extensão (Node.js), que é o tipo padrão
  • Baseado em pacote NuGet (.NET), que você pode converter pelo tipo padrão

Com base nesses tipos, o projeto incluirá pastas e arquivos ligeiramente diferentes. Um projeto baseado em NuGet inclui uma pasta .bin que contém pacotes e outros arquivos de biblioteca. Um projeto baseado em pacote não inclui a pasta .bin e outros arquivos. Alguns cenários exigem um projeto baseado em NuGet para que o aplicativo seja executado, como quando você deseja desenvolver e executar operações personalizadas. Para obter mais informações sobre como converter o projeto para usar o NuGet, confira Habilitar a criação de conector integrado.

Para o projeto padrão baseado em pacote, seu projeto tem uma estrutura de pasta e arquivo semelhante ao seguinte exemplo:

MyBundleBasedLogicAppProjectName
| .vscode
| Artifacts
  || Maps 
     ||| MapName1
     ||| ...
  || Schemas
     ||| SchemaName1
     ||| ...
| WorkflowName1
  || workflow.json
  || ...
| WorkflowName2
  || workflow.json
  || ...
| workflow-designtime
| .funcignore
| connections.json
| host.json
| local.settings.json

No nível raiz do projeto, você pode encontrar os seguintes arquivos e pastas com outros itens:

Nome Pasta ou arquivo Descrição
.vscode Pasta Contém os arquivos de configurações relacionadas ao Visual Studio Code, como os arquivos extensions.json, launch.json, settings.json e tasks.json.
Artefatos Pasta Contém artefatos de conta de integração que você define e usa em fluxos de trabalho que suportam cenários B2B (entre empresas). Por exemplo, a estrutura de exemplo inclui mapas e esquemas para operações de transformação e validação XML.
<WorkflowName> Pasta Para cada fluxo de trabalho, a pasta <WorkflowName> inclui um arquivo workflow.json, que contém a definição JSON subjacente desse fluxo de trabalho.
workflow-designtime Pasta Contém arquivos de configurações relacionados ao ambiente de desenvolvimento.
.funcignore Arquivo Contém informações relacionadas ao Azure Functions Core Tools instalado.
connections.json Arquivo Contém os metadados, pontos de extremidade e chaves para conexões gerenciadas e funções do Azure usados pelos fluxos de trabalho.

Importante: para usar diferentes conexões e funções para cada ambiente, certifique-se de parametrizar esse arquivo connections.json e atualizar os pontos de extremidade.
host. JSON Arquivo Contém definições e valores de configuração específicos do runtime, como limites padrão para a plataforma de Aplicativos Lógicos do Azure de locatário único, aplicativos lógicos, fluxos de trabalho, gatilhos e ações. No nível raiz do projeto de aplicativo lógico, o arquivo de metadados host.json contém as definições de configuração e os valores padrão que todos os fluxos de trabalho no mesmo aplicativo lógico usam durante a execução, seja localmente ou no Azure.

Observação: quando você cria seu aplicativo lógico, o Visual Studio Code cria um arquivo host.snapshot.*.json em seu contêiner de armazenamento. Se você excluir seu aplicativo lógico, esse arquivo de backup não será excluído. Se você criar outro aplicativo lógico com o mesmo nome, outro arquivo de instantâneo será criado. Você pode ter apenas até dez instantâneos para o mesmo aplicativo lógico. Se ultrapassar esse limite, você verá o seguinte erro:

Microsoft.Azure.WebJobs.Script.WebHost: Repository has more than 10 non-decryptable secrets backups (host))

Para resolver esse erro, exclua os arquivos de instantâneo adicionais do seu contêiner de armazenamento.
local.settings.json Arquivo Contém configurações de aplicativo, cadeias de conexão e outras configurações usadas pelos fluxos de trabalho ao serem executados localmente. Ou seja, essas configurações e valores se aplicam somente quando você executa seus projetos no ambiente de desenvolvimento local. Durante a implantação para o Azure, o arquivo e as configurações são ignorados e não são incluídos na implantação.

Esse arquivo armazena configurações e valores como variáveis de ambiente local que são usadas pelas ferramentas de desenvolvimento local como os valores appSettings. Você pode chamar e fazer referência a essas variáveis de ambiente no runtime e durante a implantação usando configurações de aplicativo e parâmetros.

Importante: o arquivo local.settings.json pode conter segredos; verifique se você também excluiu esse arquivo do seu controle do código-fonte do projeto.

Referência para configurações de aplicativo – local.settings.json

No Visual Studio Code, no nível raiz do projeto de aplicativo lógico, o arquivo local.settings.json contém opções de configuração global que afetam todos os fluxos de trabalho desse aplicativo lógico durante a execução no ambiente de desenvolvimento local. Quando os fluxos de trabalho são executados localmente, essas configurações são acessadas como variáveis de ambiente local e os valores delas geralmente podem mudar entre os vários ambientes em que você executar os fluxos de trabalho. Para ver e gerenciar essas configurações, examine Gerenciar configurações de aplicativo – local.settings.json.

As configurações de aplicativo dos Aplicativos Lógicos do Azure funcionam de modo semelhante às configurações de aplicativo do Azure Functions ou dos Aplicativos Web do Azure. Se você já usou esses outros serviços antes, talvez já tenha se familiarizado com as configurações de aplicativo. Para obter mais informações, examine a Referência de configurações de aplicativo do Azure Functions e Trabalhar com o Azure Functions Core Tools – Arquivo de configurações local.

Para que o fluxo de trabalho seja executado corretamente, algumas configurações de aplicativo são necessárias.

Configuração Obrigatório Valor Descrição
APP_KIND Sim workflowApp Necessário para definir o tipo de aplicativo para o recurso de aplicativo lógico Standard. O valor deve ser definido como workflowApp.

Observação: em alguns cenários, essa configuração de aplicativo pode estar ausente, como devido à automação com modelos do Azure Resource Manager ou outros cenários em que a configuração não está incluída. Se determinadas ações não funcionarem, como a ação Executar código JavaScript, ou o fluxo de trabalho parar de funcionar, verifique se a configuração do aplicativo APP_KIND existe e está definida como workflowApp.
AZURE_AUTHORITY_HOST Não Nenhum Define a autoridade padrão do aplicativo lógico Standard a ser usada para autenticação OAuth.
AzureWebJobsStorage Sim Nenhum Necessário para definir a cadeia de conexão para uma conta de armazenamento do Azure. Para obter mais informações, confira AzureWebJobsStorage.
FUNCTIONS_EXTENSION_VERSION Sim ~4 Necessário para definir a versão do Azure Functions. Para obter mais informações, confira FUNCTIONS_EXTENSION_VERSION.
FUNCTIONS_WORKER_RUNTIME Sim dotnet Necessário para definir o runtime de trabalho da linguagem de programação para o recurso de aplicativo lógico e fluxos de trabalho.

Observação: o valor dessa configuração foi definido anteriormente como node, mas agora o valor dotnet é necessário para todos os aplicativos lógicos Standard implantados, tanto novos quanto atuais. Essa alteração não deve afetar o runtime do fluxo de trabalho e tudo deve funcionar da mesma maneira.

Para obter mais informações, consulte FUNCTIONS_WORKER_RUNTIME.
ServiceProviders.Sftp.FileUploadBufferTimeForTrigger Não 00:00:20
(20 segundos)
Define o tempo de buffer para ignorar arquivos que têm um carimbo de data/hora da última modificação que é posterior à hora atual. Essa configuração é útil quando gravações de arquivo grandes demoram muito e evita a busca de dados para um arquivo parcialmente gravado.
ServiceProviders.Sftp.OperationTimeout Não 00:02:00
(2min)
Define o tempo de espera antes de atingir o tempo limite em qualquer operação.
ServiceProviders.Sftp.ServerAliveInterval Não 00:30:00
(30 minutos)
Envia uma mensagem "keep alive" para manter a conexão SSH ativa, se nenhuma troca de dados com o servidor ocorrer durante o período especificado.
ServiceProviders.Sftp.SftpConnectionPoolSize Não 2 conexões Define o número de conexões que cada processador pode armazenar em cache. O número total de conexões que você pode armazenar em cache é ProcessorCount multiplicado pelo valor de configuração.
ServiceProviders.MaximumAllowedTriggerStateSizeInKB Não 10 KB, que é ~1.000 arquivos Define o tamanho da entidade de estado do gatilho em quilobytes, que é proporcional ao número de arquivos na pasta monitorada e é usado para detectar arquivos. Se o número de arquivos exceder 1.000, aumente esse valor.
ServiceProviders.Sql.QueryTimeout Não 00:02:00
(2min)
Define o valor de tempo limite da solicitação para operações do provedor de serviços do SQL.
WEBSITE_CONTENTSHARE Sim Dinâmico Necessário para definir o nome do compartilhamento de arquivos que o Azure Functions usa para armazenar arquivos de configuração e código do aplicativo de funções e é usado com WEBSITE_CONTENTAZUREFILECONNECTIONSTRING. O padrão é uma cadeia de caracteres exclusiva gerada pelo runtime. Para obter mais informações, confira WEBSITE_CONTENTSHARE.
WEBSITE_LOAD_ROOT_CERTIFICATES Não Nenhum Define as impressões digitais para os certificados raiz serem confiáveis.
Workflows.Connection.AuthenticationAudience Não Nenhum Define o público para autenticar uma conexão gerenciada (hospedada no Azure).
Workflows.CustomHostName Não Nenhum Define o nome do host a ser usado para os URLs de fluxo de trabalho e de entrada-saída, por exemplo, "logic.contoso.com". Para obter informações para configurar um nome DNS personalizado, consulte Mapear um nome DNS personalizado existente para o Serviço de Aplicativo do Azure e Proteger um nome DNS personalizado com uma associação TLS/SSL em Serviço de Aplicativo do Azure.
Workflows.<workflowName>.FlowState Não Nenhum Define o estado do <workflowName>.
Workflows.<workflowName>.RuntimeConfiguration.RetentionInDays Não 90 dias Define a quantidade de tempo em dias para manter o histórico de execução de <workflowName>.

- Mínimo: 7 dias
- Máximo: 365 dias
Workflows.RuntimeConfiguration.RetentionInDays Não 90 dias Define o tempo necessário em dias para manter o histórico de execuções do fluxo de trabalho depois que uma execução é iniciada.

- Mínimo: 7 dias
- Máximo: 365 dias
Workflows.WebhookRedirectHostUri Não Nenhum Define o nome do host a ser usado para URLs de retorno de chamada do webhook.

Gerenciar as configurações de aplicativo – local.settings.json

Para adicionar, atualizar ou excluir as configurações do aplicativo, selecione e examine as seções a seguir do portal do Azure, do Visual Studio Code, da CLI do Azure ou do modelo do ARM (Bicep). Para obter configurações de aplicativo específicas de aplicativos lógicos, examine o guia de referência das configurações de aplicativo disponíveis – local.settings.json.

Exibir as configurações do aplicativo no portal
  1. Na caixa de pesquisa do portal do Azure, localize e abra seu aplicativo lógico.

  2. No menu do aplicativo lógico, em Configurações, selecione Variáveis de ambiente.

  3. Na página Variáveis de ambiente, na guia Configurações do aplicativo, examine as configurações do aplicativo para seu aplicativo lógico.

    Para obter mais informações sobre essas configurações, examine o Guia de referência para obter as configurações de aplicativo disponíveis – local.settings.json.

  4. Para ver todos os valores, selecione Mostrar Valores. Ou, para exibir um único valor, na coluna Valor, ao lado do valor, selecione o "olho".

Adicionar uma configuração de aplicativo no portal
  1. Na guia Configurações do aplicativo, na parte inferior da lista, na coluna Nome, insira a chave ou o nome da nova configuração.

  2. Em Valor, insira o valor da nova configuração.

  3. Quando estiver pronto para criar o par chave-valor, selecione Aplicar.

    A captura de tela mostra o portal do Azure com a página de configurações do aplicativo e os valores de um recurso de aplicativo lógico Standard.

Referência de configurações de host – host.json

No Visual Studio Code, no nível raiz do projeto de aplicativo lógico, o arquivo de metadados host.json contém as configurações de runtime e os valores padrão que se aplicam a todos os fluxos de trabalho de um recurso de aplicativo lógico, sejam executados localmente ou no Azure. Para ver e gerenciar essas configurações, examine Gerenciar configurações de host – host.json. Encontre também informações de limites relacionadas na documentação Limites e configuração dos Aplicativos Lógicos do Azure.

Produtividade da orquestração de trabalho

Essas configurações afetam a produtividade e a capacidade dos Aplicativos Lógicos do Azure de locatário único de executar operações de fluxo de trabalho.

Configuração Valor padrão Descrição
Jobs.BackgroundJobs.DispatchingWorkersPulseInterval 00:00:01
(1s)
Define o intervalo para os distribuidores de trabalho sondarem a fila de trabalho quando a sondagem anterior não retorna nenhum trabalho. Os distribuidores de trabalho sondam a fila imediatamente quando a sondagem anterior retorna um trabalho.
Jobs.BackgroundJobs.NumPartitionsInJobDefinitionsTable 4 partições de trabalho Define o número de partições de trabalho na tabela de definição de trabalho. Esse valor controla a quantidade de taxa de transferência de execução afetada pelos limites de armazenamento de partição.
Jobs.BackgroundJobs.NumPartitionsInJobTriggersQueue 1 fila de trabalhos Define o número de filas de trabalho monitoradas por distribuidores de trabalho para os trabalhos a serem processados. Esse valor também afeta o número de partições de armazenamento em que as filas de trabalho estão localizadas.
Jobs.BackgroundJobs.NumWorkersPerProcessorCount 192 instâncias de trabalho do distribuidor Define o número que as instâncias de trabalho do distribuidor ou que os distribuidores de trabalho terão por núcleo de processador. Esse valor afeta o número de execuções de fluxo de trabalho por núcleo.
Jobs.BackgroundJobs.StatelessNumWorkersPerProcessorCount 192 instâncias de trabalho do distribuidor Define o número que as instâncias de trabalho do distribuidor ou que os distribuidores de trabalho terão por núcleo de processador, por execução sem estado. Esse valor afeta o número de ações de fluxo de trabalho simultâneas que são processadas por execução.

Ambas as configurações a seguir são usadas para interromper manualmente e excluir imediatamente os fluxos de trabalho especificados no aplicativo lógico Standard.

Observação

Use essas configurações com cuidado e somente em ambientes de não produção, como ambientes de teste de desempenho ou de carga, pois não é possível recuperar ou desfazer essas operações.

Configuração Valor padrão Descrição
Jobs.CleanupJobPartitionPrefixes Nenhum Exclui imediatamente todos os trabalhos de execução dos fluxos de trabalho especificados.
Jobs.SuspendedJobPartitionPartitionPrefixes Nenhum Interrompe todos os trabalhos de execução dos fluxos de trabalho especificados.

O exemplo a seguir mostra a sintaxe dessas configurações em que cada ID de fluxo de trabalho é seguida por dois-pontos (:) e separada por um ponto-e-vírgula (;):

"Jobs.CleanupJobPartitionPrefixes": "<workflow-ID-1>:; <workflow-ID-2:",
"Jobs.SuspendedJobPartitionPrefixes": "<workflow-ID-1>:; <workflow-ID-2>:"

Gatilhos baseados em recorrência

Configuração Valor padrão Descrição
Microsoft.Azure.Workflows.ServiceProviders.MaximumAllowedTriggerStateSizeInKB 1 KB Define o tamanho máximo permitido do estado do gatilho para gatilhos baseados em recorrência, como o gatilho SFTP integrado. O estado do gatilho mantém dados em vários gatilhos baseados em recorrência do provedor de serviços.

Importante: com base no tamanho do armazenamento, evite definir esse valor muito alto, o que pode afetar negativamente o armazenamento e o desempenho.

Simultaneidade do gatilho

As configurações a seguir funcionam apenas para fluxos de trabalho que começam com um gatilho baseado em recorrência para conectores internos baseados em provedor de serviços. Para um fluxo de trabalho que começa com um gatilho baseado em função, você pode tentar configurar o envio em lote quando houver suporte. No entanto, nem sempre o envio em lote é a solução correta. Por exemplo, com gatilhos de Barramento de Serviço do Azure, um lote pode manter as mensagens além da duração do bloqueio. Como resultado, qualquer ação, seja concluída ou abandonada, falha nessas mensagens.

Configuração Valor padrão Descrição
Runtime.Trigger.MaximumRunConcurrency 100 execuções Define o número máximo de execuções simultâneas que um gatilho pode iniciar. Esse valor é exibido na definição de simultaneidade do gatilho.
Runtime.Trigger.MaximumWaitingRuns 200 execuções Define o número máximo de execuções que podem aguardar após as execuções simultâneas atenderem ao máximo. Esse valor é exibido na definição de simultaneidade do gatilho. Para saber mais, confira Alterar o limite de execuções de espera.

Duração de execução e retenção de histórico

Configuração Valor padrão Descrição
Runtime.Backend.FlowRunTimeout 90.00:00:00
(90 dias)
Define o tempo que um fluxo de trabalho pode continuar em execução antes de um tempo limite ser forçado. O valor mínimo para essa configuração é de 7 dias.

Importante: verifique se esse valor é inferior ou igual ao valor da configuração de aplicativo chamada Workflows.RuntimeConfiguration.RetentionInDays. Caso contrário, os históricos de execuções poderão ser excluídos antes que os trabalhos associados sejam concluídos.
Runtime.FlowMaintenanceJob.RetentionCooldownInterval 7.00:00:00
(7 dias)
Define a quantidade de tempo em dias como o intervalo entre quando verificar e excluir o histórico de execuções que você não deseja mais manter.

Ações de execução

Configuração Valor padrão Descrição
Runtime.FlowRunRetryableActionJobCallback.ActionJobExecutionTimeout 00:10:00
(10 minutos)
Define a quantidade de tempo que um trabalho de ação de fluxo de trabalhos deve ser executado antes de atingir o tempo limite e tentar novamente.

Entradas e saídas

Configuração Valor padrão Descrição
Microsoft.Azure.Workflows.TemplateLimits.InputParametersLimit 50 Altere o limite padrão de parâmetros de fluxo de trabalho entre ambientes até 500 para aplicativos lógicos Standard criados pela exportação de aplicativos lógicos de consumo.
Runtime.ContentLink.MaximumContentSizeInBytes 104857600 bytes Define o tamanho máximo em bytes que uma entrada ou uma saída pode ter em um gatilho ou uma ação.
Runtime.FlowRunActionJob.MaximumActionResultSize 209715200 bytes Define o tamanho máximo em bytes que as entradas e as saídas combinadas podem ter em uma única ação.

Paginação

Configuração Valor padrão Descrição
Runtime.FlowRunRetryableActionJobCallback.MaximumPageCount 1000 páginas Quando há suporte para a paginação e ela está habilitada em uma operação, define o número máximo de páginas a serem retornadas ou processadas em runtime.

Agrupamento

Configuração Valor padrão Descrição
Runtime.FlowRunRetryableActionJobCallback.MaximumContentLengthInBytesForPartialContent 1073741824 bytes Quando há suporte para o agrupamento e ele está habilitado em uma operação, define o tamanho máximo em bytes para o conteúdo baixado ou carregado.
Runtime.FlowRunRetryableActionJobCallback.MaxChunkSizeInBytes 52428800 bytes Quando há suporte para o agrupamento e ele está habilitado em uma operação, define o tamanho máximo em bytes para cada parte do conteúdo.
Runtime.FlowRunRetryableActionJobCallback.MaximumRequestCountForPartialContent 1000 solicitações Quando há suporte para o agrupamento e ele está habilitado em uma operação, define o número máximo de solicitações que uma execução de ação pode fazer para baixar o conteúdo.

Armazenar o conteúdo em linha ou usar blobs

Configuração Valor padrão Descrição
Runtime.FlowRunEngine.ForeachMaximumItemsForContentInlining 20 itens Quando um loop For each está em execução, o valor de cada item é armazenado em linha com outros metadados no armazenamento de tabelas ou separadamente no armazenamento de blobs. Define o número de itens a serem armazenados em linha com outros metadados.
Runtime.FlowRunRetryableActionJobCallback.MaximumPagesForContentInlining 20 páginas Define o número máximo de páginas a serem armazenadas como conteúdo em linha no armazenamento de tabelas antes de armazená-las no armazenamento de blobs.
Runtime.FlowTriggerSplitOnJob.MaximumItemsForContentInlining 40 itens Quando a configuração SplitOn retira do lote itens de matriz em várias instâncias de fluxo de trabalho, o valor de cada item é armazenado em linha com outros metadados no armazenamento de tabelas ou separadamente no armazenamento de blobs. Define o número de itens a serem armazenados em linha.
Runtime.ScaleUnit.MaximumCharactersForContentInlining 8192 caracteres Define o número máximo de caracteres de entrada e saída da operação a serem armazenados em linha no armazenamento de tabelas antes de armazená-los no armazenamento de blobs.

Loops For each

Configuração Valor padrão Descrição
Runtime.Backend.FlowDefaultForeachItemsLimit 100000 itens de matriz Para um fluxo de trabalho com estado, define o número máximo de itens de matriz a serem processados em um loop For each.
Runtime.Backend.FlowDefaultSplitOnItemsLimit 100000 itens de matriz Define o número máximo de itens de matriz a serem retirados do lote ou divididos em várias instâncias de fluxo de trabalho com base na configuração SplitOn.
Runtime.Backend.ForeachDefaultDegreeOfParallelism 20 iterações Define o número padrão de iterações simultâneas ou o grau de paralelismo em um loop For each. Para a execução sequencial, defina o valor como 1.
Runtime.Backend.Stateless.FlowDefaultForeachItemsLimit 100 itens Para um fluxo de trabalho sem estado, define o número máximo de itens de matriz a serem processados em um loop For each.

Loops Until

Configuração Valor padrão Descrição
Runtime.Backend.MaximumUntilLimitCount 5000 iterações Para um fluxo de trabalho com estado, define o número máximo possível para a propriedade Count em uma ação Until.
Runtime.Backend.Stateless.FlowRunTimeout 00:05:00
(5min)
Define o tempo máximo de espera de um loop Until em um fluxo de trabalho sem estado.
Runtime.Backend.Stateless.MaximumUntilLimitCount 100 iterações Para um fluxo de trabalho sem estado, define o número máximo possível para a propriedade Count em uma ação Until.

Variáveis

Configuração Valor padrão Descrição
Runtime.Backend.DefaultAppendArrayItemsLimit 100000 itens de matriz Define o número máximo de itens em uma variável com o tipo Matriz.
Runtime.Backend.VariableOperation.MaximumStatelessVariableSize Fluxo de trabalho sem estado: 1024 caracteres Define o tamanho máximo em caracteres para o conteúdo que uma variável pode armazenar, quando usada em um fluxo de trabalho sem estado.
Runtime.Backend.VariableOperation.MaximumVariableSize Fluxo de trabalho com estado: 104857600 caracteres Define o tamanho máximo em caracteres para o conteúdo que uma variável pode armazenar, quando usada em um fluxo de trabalho com estado.

Operações HTTP internas

Configuração Valor padrão Descrição
Runtime.Backend.HttpOperation.DefaultRetryCount 4 repetições Define a contagem de repetição padrão para ações e gatilhos HTTP.
Runtime.Backend.HttpOperation.DefaultRetryInterval 00:00:07
(7s)
Define o intervalo de repetição padrão para ações e gatilhos HTTP.
Runtime.Backend.HttpOperation.DefaultRetryMaximumInterval 01:00:00
(1 hora)
Define o intervalo máximo de repetição para ações e gatilhos HTTP.
Runtime.Backend.HttpOperation.DefaultRetryMinimumInterval 00:00:05
(5s)
Define o intervalo mínimo de repetição para ações e gatilhos HTTP.
Runtime.Backend.HttpOperation.MaxContentSize 104857600 bytes Define o tamanho máximo da solicitação em bytes para somente ações HTTP, não gatilhos. Para obter mais informações, confira Limitações.
Runtime.Backend.HttpOperation.RequestTimeout 00:03:45
(3min e 45s)

Observação: o valor padrão também é o valor máximo.
Define o valor de tempo limite da solicitação para ações e gatilhos HTTP.

Operações de webhook HTTP internas

Configuração Valor padrão Descrição
Runtime.Backend.HttpWebhookOperation.DefaultRetryCount 4 repetições Define a contagem de repetição padrão para gatilhos e ações de webhook HTTP.
Runtime.Backend.HttpWebhookOperation.DefaultRetryInterval 00:00:07
(7s)
Define o intervalo de repetição padrão para gatilhos e ações de webhook HTTP.
Runtime.Backend.HttpWebhookOperation.DefaultRetryMaximumInterval 01:00:00
(1 hora)
Define o intervalo máximo de repetição para ações e gatilhos de webhook HTTP.
Runtime.Backend.HttpWebhookOperation.DefaultRetryMinimumInterval 00:00:05
(5s)
Define o intervalo mínimo de repetição para ações e gatilhos de webhook HTTP.
Runtime.Backend.HttpWebhookOperation.DefaultWakeUpInterval 01:00:00
(1 hora)
Define o intervalo de ativação padrão para trabalhos de gatilho e ação de webhook HTTP.
Runtime.Backend.HttpWebhookOperation.MaxContentSize 104857600 bytes Define o tamanho máximo da solicitação em bytes para somente ações de webhook HTTP, não gatilhos. Para obter mais informações, confira Limitações.
Runtime.Backend.HttpWebhookOperation.RequestTimeout 00:02:00
(2min)
Define o valor de tempo limite da solicitação para gatilhos e ações de webhook HTTP.

Operações de Armazenamento do Microsoft Azure internas

Armazenamento de blob

Configuração Valor padrão Descrição
Microsoft.Azure.Workflows.ContentStorage.RequestOptionsThreadCount Nenhum Define a contagem de threads para operações de upload e download de blob. Você pode usar essa configuração para forçar o runtime dos Aplicativos Lógicos do Azure a usar vários threads ao carregar e baixar conteúdo de entradas e saídas de ação.
Runtime.ContentStorage.RequestOptionsDeltaBackoff 00:00:02
(2s)
Define o intervalo de retirada entre as repetições enviadas ao armazenamento de blobs.
Runtime.ContentStorage.RequestOptionsMaximumAttempts 4 repetições Define o número máximo de repetições enviadas ao armazenamento de tabelas e filas.
Runtime.ContentStorage.RequestOptionsMaximumExecutionTime 00:02:00
(2min)
Define o valor de tempo limite da operação, incluindo repetições, das solicitações de blob no runtime dos Aplicativos Lógicos do Azure.
Runtime.ContentStorage.RequestOptionsServerTimeout 00:00:30
(30s)
Define o valor de tempo limite das solicitações de blob no runtime dos Aplicativos Lógicos do Azure.

Armazenamento de tabelas e filas

Configuração Valor padrão Descrição
Runtime.DataStorage.RequestOptionsDeltaBackoff 00:00:02
(2s)
Define o intervalo de retirada entre as repetições enviadas para o armazenamento de tabelas e filas.
Runtime.DataStorage.RequestOptionsMaximumAttempts 4 repetições Define o número máximo de repetições enviadas ao armazenamento de tabelas e filas.
Runtime.DataStorage.RequestOptionsMaximumExecutionTime 00:00:45
(45s)
Define o valor de tempo limite da operação, incluindo repetições, das solicitações de armazenamento de tabelas e filas no runtime dos Aplicativos Lógicos do Azure.
Runtime.DataStorage.RequestOptionsServerTimeout 00:00:16
(16s)
Define o valor de tempo limite das solicitações de armazenamento de tabelas e filas no runtime dos Aplicativos Lógicos do Azure.

Compartilhamento de arquivo

Configuração Valor padrão Descrição
ServiceProviders.AzureFile.MaxFileSizeInBytes 150000000 bytes Define o tamanho máximo do arquivo em bytes para um compartilhamento de arquivos do Azure.

Operações internas do Azure Functions

Configuração Valor padrão Descrição
Runtime.Backend.FunctionOperation.RequestTimeout 00:03:45
(3min e 45s)
Define o valor de tempo limite da solicitação para ações do Azure Functions.
Runtime.Backend.FunctionOperation.MaxContentSize 104857600 bytes Define o tamanho máximo da solicitação em bytes para ações do Azure Functions. Para obter mais informações, confira Limitações.
Runtime.Backend.FunctionOperation.DefaultRetryCount 4 repetições Define a contagem de repetição padrão para ações do Azure Functions.
Runtime.Backend.FunctionOperation.DefaultRetryInterval 00:00:07
(7s)
Define o intervalo de repetição padrão para ações do Azure Functions.
Runtime.Backend.FunctionOperation.DefaultRetryMaximumInterval 01:00:00
(1 hora)
Define o intervalo máximo de repetição para ações do Azure Functions.
Runtime.Backend.FunctionOperation.DefaultRetryMinimumInterval 00:00:05
(5s)
Define o intervalo mínimo de repetição para ações do Azure Functions.

Operações internas do Barramento de Serviço do Azure

Configuração Valor padrão Descrição
ServiceProviders.ServiceBus.MessageSenderOperationTimeout 00:01:00
(1 min)
Define o tempo limite para enviar mensagens com a operação do Barramento de Serviço integrado.
Runtime.ServiceProviders.ServiceBus.MessageSenderPoolSizePerProcessorCount 64 remetentes de mensagens Define o número de remetentes de mensagens do Barramento de Serviço do Azure por núcleo de processador a ser usado no pool de remetentes de mensagens.

Operações internas do SFTP

Configuração Valor padrão Descrição
Runtime.ServiceProviders.Sftp.MaxFileSizeInBytes 2147483648 bytes Define o tamanho máximo do arquivo em bytes para a ação Obter conteúdo de arquivo (V2).
Runtime.ServiceProviders.Sftp.MaximumFileSizeToReadInBytes 209715200 bytes Define o tamanho máximo do arquivo em bytes para a ação Obter conteúdo de arquivo. Verifique se esse valor não excede o tamanho da memória referenciada, pois essa ação lê o conteúdo do arquivo na memória.

Operações do conector gerenciado

Configuração Valor padrão Descrição
Runtime.Backend.ApiConnectionOperation.RequestTimeout 00:02:00
(2min)
Define o valor de tempo limite da solicitação para gatilhos e ações do conector de API gerenciado.
Runtime.Backend.ApiConnectionOperation.MaxContentSize 104857600 bytes Define o tamanho máximo da solicitação em bytes para gatilhos e ações do conector de API gerenciado. Para obter mais informações, confira Limitações.
Runtime.Backend.ApiConnectionOperation.DefaultRetryCount 4 repetições Define a contagem de repetição padrão para gatilhos e ações do conector de API gerenciado.
Runtime.Backend.ApiConnectionOperation.DefaultRetryInterval 00:00:07
(7s)
Define o intervalo de repetição padrão para gatilhos e ações do conector de API gerenciado.
Runtime.Backend.ApiWebhookOperation.DefaultRetryMaximumInterval 01:00:00
(1 dia)
Define o intervalo máximo de repetição para gatilhos e ações de webhook do conector de API gerenciado.
Runtime.Backend.ApiConnectionOperation.DefaultRetryMinimumInterval 00:00:05
(5s)
Define o intervalo mínimo de repetição para gatilhos e ações do conector de API gerenciado.
Runtime.Backend.ApiWebhookOperation.DefaultWakeUpInterval 01:00:00
(1 dia)
Define o intervalo de ativação padrão para trabalhos de ação e gatilho de webhook do conector de API gerenciado.

Política de repetição para todas as outras operações

Configuração Valor padrão Descrição
Runtime.ScaleMonitor.MaxPollingLatency 00:00:30
(30s)
Define a latência máxima de sondagem para o dimensionamento do runtime.
Runtime.Backend.Operation.MaximumRetryCount 90 repetições Define o número máximo de repetições na definição de política de repetição para uma operação de fluxo de trabalho.
Runtime.Backend.Operation.MaximumRetryInterval 01:00:00:01
(1 dia e 1 segundo)
Define o intervalo máximo na definição de política de repetição para uma operação de fluxo de trabalho.
Runtime.Backend.Operation.MinimumRetryInterval 00:00:05
(5s)
Define o intervalo mínimo na definição de política de repetição para uma operação de fluxo de trabalho.

Limitações

Gerenciar configurações de host – host.json

Você pode adicionar, atualizar ou excluir configurações de host, que especificam as definições de configuração de runtime e os valores que se aplicam a todos os fluxos de trabalho desse aplicativo lógico, como valores padrão para taxa de transferência, capacidade, tamanho de dados etc., sejam eles executados localmente ou no Azure. Para configurações de host específicas de aplicativos lógicos, examine o guia de referência das configurações de runtime e implantação disponíveis – host.json.

Portal do Azure – host.json

Para examinar as configurações de host do aplicativo lógico baseado em locatário único no portal do Azure, siga estas etapas:

  1. Na caixa de pesquisa do portal do Azure, localize e abra seu aplicativo lógico.

  2. No menu do aplicativo lógico, acesse Ferramentas de Desenvolvimento e selecione Ferramentas Avançadas.

  3. No painel Ferramentas avançadas, selecione Ir. O ambiente Kudu será aberto no seu aplicativo lógico.

  4. Na barra de ferramentas do Kudu, abra o menu do Console de depuração e selecione CMD.

    A janela do console será aberta, de modo que você poderá procurar a pasta wwwroot usando o prompt de comando. Se preferir, procure a estrutura de diretório exibida acima da janela do console.

  5. Navegue pelo seguinte caminho até a pasta wwwroot: ...\home\site\wwwroot.

  6. Acima da janela do console, na tabela de diretórios, ao lado do arquivo host.json, selecione Editar.

  7. Após a abertura do arquivo host.json, examine as configurações de host adicionadas anteriormente ao aplicativo lógico.

    Para obter mais informações sobre as configurações de host, examine o guia de referência das configurações de host disponíveis – host.json.

Para adicionar uma configuração, siga estas etapas:

  1. Antes de adicionar ou editar as configurações, interrompa o aplicativo lógico no portal do Azure.

    1. No Menu de recursos, selecione Visão geral.

    2. Na barra de ferramentas do painel Visão Geral, selecione Interromper.

  2. Se o arquivo host.json já estiver aberto, retorne ao arquivo host.json. Caso contrário, siga as etapas anteriores para abrir o arquivo host.json.

  3. No objeto extensionBundle, adicione o objeto extensions, que inclui os objetos workflow e settings, por exemplo:

    {
       "version": "2.0",
       "extensionBundle": {
          "id": "Microsoft.Azure.Functions.ExtensionBundle",
          "version": "[1.*, 2.0.0)"
       },
       "extensions": {
          "workflow": {
             "settings": {
             }
          }
       }
    }
    
  4. No objeto settings, adicione uma lista simples com as configurações de host que você deseja usar para todos os fluxos de trabalho no aplicativo lógico, sejam esses fluxos de trabalho executados localmente ou no Azure, por exemplo:

    {
       "version": "2.0",
       "extensionBundle": {
          "id": "Microsoft.Azure.Functions.ExtensionBundle",
          "version": "[1.*, 2.0.0)"
       },
       "extensions": {
          "workflow": {
             "settings": {
                "Runtime.Trigger.MaximumWaitingRuns": "100"
             }
          }
       }
    }
    
  5. Quando terminar, lembre-se de selecionar Salvar.

  6. Agora, reinicie o aplicativo lógico. Volte à página Visão geral do aplicativo lógico e selecione Reiniciar.

Visual Studio Code – host.json

Para examinar as configurações de host do aplicativo lógico no Visual Studio Code, siga estas etapas:

  1. No projeto do aplicativo lógico, no nível do projeto raiz, encontre e abra o arquivo host.json.

  2. No objeto extensions, em workflows e settings, examine as configurações de host adicionadas anteriormente ao aplicativo lógico. Caso contrário, o objeto extensions não será exibido no arquivo.

    Para obter mais informações sobre as configurações de host, examine o guia de referência das configurações de host disponíveis – host.json.

Para adicionar uma configuração de host, siga estas etapas:

  1. No arquivo host.json, abaixo do objeto extensionBundle, adicione o objeto extensions, que inclui os objetos workflow e settings, por exemplo:

    {
       "version": "2.0",
       "extensionBundle": {
          "id": "Microsoft.Azure.Functions.ExtensionBundle",
          "version": "[1.*, 2.0.0)"
       },
       "extensions": {
          "workflow": {
             "settings": {
             }
          }
       }
    }
    
  2. No objeto settings, adicione uma lista simples com as configurações de host que você deseja usar para todos os fluxos de trabalho no aplicativo lógico, sejam esses fluxos de trabalho executados localmente ou no Azure, por exemplo:

    {
       "version": "2.0",
       "extensionBundle": {
          "id": "Microsoft.Azure.Functions.ExtensionBundle",
          "version": "[1.*, 2.0.0)"
       },
       "extensions": {
          "workflow": {
             "settings": {
                "Runtime.Trigger.MaximumWaitingRuns": "100"
             }
          }
       }
    }
    

Próximas etapas