Editar configurações de host e aplicativo para aplicativos lógicos padrão em aplicativos lógicos do Azure de locatário único

Aplica-se a: Aplicativos Lógicos do Azure (Padrão)

Nos Aplicativos Lógicos do Azure de locatário único, as configurações do aplicativo para 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 em seu ambiente de desenvolvimento local. Os fluxos de trabalho executados localmente podem acessar essas configurações do aplicativo como variáveis de ambiente local, que são usadas por ferramentas de desenvolvimento local para valores que muitas vezes podem mudar entre ambientes. Por exemplo, esses valores podem conter cadeias de conexão. Quando você implanta no Azure, as configurações do aplicativo são ignoradas e não são incluídas na sua implantação.

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

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

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

Nos Aplicativos Lógicos do Azure de locatário único, a implantação se torna mais fácil porque você pode separar o provisionamento de recursos entre aplicativos e infraestrutura. Você pode usar parâmetros para abstrair valores que podem mudar entre ambientes. Ao definir parâmetros para usar em seus fluxos de trabalho, você pode primeiro se concentrar em projetar seus fluxos de trabalho e, em seguida, inserir variáveis específicas do ambiente mais tarde. Você pode chamar e referenciar suas variáveis de ambiente em tempo de execução usando configurações e parâmetros do aplicativo. Dessa forma, você não precisa reimplantar com tanta frequência.

As configurações do aplicativo se integram ao Azure Key Vault. Você pode fazer referência direta a cadeias de caracteres seguras, como cadeias de conexão e chaves. Semelhante aos modelos do Azure Resource Manager (modelos ARM), onde você pode definir variáveis de ambiente no momento da implantação, você pode definir as configurações do aplicativo dentro da definição do fluxo de trabalho do aplicativo lógico. Em seguida, você pode capturar valores de infraestrutura gerados dinamicamente, como pontos de extremidade de conexão, cadeias de caracteres de armazenamento e muito mais. No entanto, as configurações do aplicativo têm limitações de tamanho e não podem ser referenciadas de determinadas áreas nos Aplicativos Lógicos do Azure.

Nota

Se você usa o Cofre de Chaves, certifique-se de armazenar apenas segredos, como senhas, credenciais e certificados. Em um fluxo de trabalho de aplicativo lógico, não use o Cofre da Chave para armazenar valores não secretos, como caminhos de URL, que o designer de fluxo de trabalho precisa para fazer chamadas. O designer não pode cancelar a referência de uma configuração de aplicativo que faz referência a um tipo de recurso do Cofre da Chave, o que resulta em um erro e uma chamada com falha. Para valores não secretos, armazene-os diretamente nas configurações do aplicativo.

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

Estrutura do projeto 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 do tipo padrão

Com base nesses tipos, seu projeto inclui 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 seu aplicativo seja executado, por exemplo, quando você deseja desenvolver e executar operações internas personalizadas. Para obter mais informações sobre como converter seu projeto para usar o NuGet, consulte Habilitar a criação de conector interno.

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

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 seu projeto, você pode encontrar os seguintes arquivos e pastas com outros itens:

Nome Pasta ou ficheiro Description
.vscode Pasta Contém arquivos de configurações relacionados ao Visual Studio Code, como 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 oferecem suporte a cenários B2B (business-to-business). Por exemplo, a estrutura de exemplo inclui mapas e esquemas para operações de transformação e validação XML.
<Nome do fluxo de trabalho> 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 relacionadas ao ambiente de desenvolvimento.
.funcignore Ficheiro Contém informações relacionadas às Ferramentas Principais do Azure Functions instaladas.
connections.json Ficheiro Contém os metadados, pontos de extremidade e chaves para quaisquer conexões gerenciadas e funções do Azure que seus fluxos de trabalho usam.

Importante: Para usar conexões e funções diferentes para cada ambiente, certifique-se de parametrizar esse arquivo de connections.json e atualizar os pontos de extremidade.
host.json Ficheiro Contém definições e valores de configuração específicos do tempo de execução, por exemplo, os 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 seu 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.

Nota: Quando você cria seu aplicativo lógico, o Visual Studio Code cria um arquivo host.snapshot.*.json de backup 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é 10 instantâneos para o mesmo aplicativo lógico. Se você exceder esse limite, você receberá 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 extras do contêiner de armazenamento.
local.settings.json Ficheiro Contém configurações de aplicativos, cadeias de conexão e outras configurações que seus fluxos de trabalho usam durante a execução local. Em outras palavras, essas configurações e valores se aplicam somente quando você executa seus projetos em seu ambiente de desenvolvimento local. Durante a implantação no Azure, o arquivo e as configurações são ignorados e não são incluídos na sua implantação.

Esse arquivo armazena configurações e valores como variáveis de ambiente local que são usadas por suas ferramentas de desenvolvimento local como os appSettings valores. Você pode chamar e fazer referência a essas variáveis de ambiente em tempo de execução e de implantação usando as configurações e os parâmetros do aplicativo.

Importante: O arquivo local.settings.json pode conter segredos, portanto, certifique-se de excluir esse arquivo do controle do código-fonte do projeto.

Referência para configurações de aplicativos - local.settings.json

No Visual Studio Code, no nível raiz do seu projeto de aplicativo lógico, o arquivo de local.settings.json contém opções de configuração global que afetam todos os fluxos de trabalho nesse aplicativo lógico durante a execução em seu ambiente de desenvolvimento local. Quando seus fluxos de trabalho são executados localmente, essas configurações são acessadas como variáveis de ambiente local, e seus valores podem mudar frequentemente entre os vários ambientes onde você executa seus fluxos de trabalho. Para ver e gerir estas definições, consulte Gerir definições da aplicação - local.settings.json.

As configurações de aplicativo nos Aplicativos Lógicos do Azure funcionam de forma semelhante às configurações de aplicativo no Azure Functions ou nos Aplicativos Web do Azure. Se você já usou esses outros serviços antes, talvez já esteja familiarizado com as configurações do aplicativo. Para obter mais informações, consulte Referência de configurações do aplicativo para o Azure Functions e Trabalhar com as Ferramentas Principais do Azure Functions - Arquivo de configurações locais.

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

Definição Necessário Valor Description
APP_KIND Sim workflowApp Necessário para definir o tipo de aplicativo para o recurso de aplicativo lógico padrão. O valor deve ser definido como workflowApp.

Observação: em alguns cenários, essa configuração de aplicativo pode estar ausente, por exemplo, devido à automação usando 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 se o fluxo de trabalho parar de funcionar, verifique se a configuração do aplicativo APP_KIND existe e está definida como workflowApp.
AzureWebJobsStorage Sim Nenhuma Necessário para definir a cadeia de conexão para uma conta de armazenamento do Azure. Para obter mais informações, consulte AzureWebJobsStorage.
FUNCTINONS_EXTENSION_VERSION Sim ~4 Necessário para definir a versão do Azure Functions. Para obter mais informações, consulte FUNCTIONS_EXTENSION_VERSION.
FUNCTIONS_WORKER_RUNTIME Sim dotnet Necessário para definir o tempo de execução do operador de linguagem para o recurso e fluxos de trabalho do aplicativo lógico.

Nota: O valor desta configuração foi definido anteriormente como node, mas agora o valor necessário é dotnet para todos os aplicativos lógicos Standard implantados novos e existentes. Essa alteração não deve afetar o tempo de execução do fluxo de trabalho, portanto, tudo deve funcionar da mesma maneira que antes.

Para obter mais informações, consulte FUNCTIONS_WORKER_RUNTIME.
ServiceProviders.Sftp.FileUploadBufferTimeForTrigger Não 00:00:20
(20 segundos)
Define o tempo do buffer para ignorar arquivos que têm um carimbo de data/hora da última modificação maior que a hora atual. Essa configuração é útil quando as gravações de arquivos grandes levam muito tempo e evita a busca de dados para um arquivo parcialmente gravado.
ServiceProviders.Sftp.OperationTimeout Não 00:02:00
(2 minutos)
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 "manter vivo" para manter a conexão SSH ativa se nenhuma troca de dados com o servidor acontecer durante o período especificado.
ServiceProviders.Sftp.SftpConnectionPoolSize Não 2 ligaçõ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 da configuração.
ServiceProviders.MaximumAllowedTriggerStateSizeInKB Não 10 KB, que é ~ 1.000 arquivos Define o tamanho da entidade de estado de gatilho em kilobytes, que é proporcional ao número de arquivos na pasta monitorada e é usado para detetar arquivos. Se o número de arquivos exceder 1.000, aumente esse valor.
ServiceProviders.Sql.QueryTimeout Não 00:02:00
(2 minutos)
Define o valor de tempo limite de solicitação para operações do provedor de serviços SQL.
WEBSITE_CONTENTSHARE Sim Dinâmica Necessário para definir o nome do compartilhamento de arquivos que o Azure Functions usa para armazenar o código do aplicativo de função e os arquivos de configuração e é usado com o WEBSITE_CONTENTAZUREFILECONNECTIONSTRING. O padrão é uma cadeia de caracteres exclusiva gerada pelo tempo de execução. Para obter mais informações, consulte WEBSITE_CONTENTSHARE.
WEBSITE_LOAD_ROOT_CERTIFICATES Não Nenhuma Define as impressões digitais para que os certificados raiz sejam confiáveis.
Workflows.Connection.AuthenticationAudience Não Nenhuma Define o público para autenticar uma conexão gerenciada (hospedada pelo Azure).
Workflows.CustomHostName Não Nenhuma Define o nome do host a ser usado para URLs de fluxo de trabalho e entrada-saída, por exemplo, "logic.contoso.com". Para obter informações sobre como 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 no Serviço de Aplicativo do Azure.
Workflows.<workflowName>.FlowState Não Nenhuma Define o estado de <workflowName>.
Workflows.<workflowName>.RuntimeConfiguration.RetentionInDays Não Nenhuma Define a quantidade de tempo em dias para manter o histórico de execução para <workflowName>.
Workflows.RuntimeConfiguration.RetentionInDays Não 90 dias Define a quantidade de tempo, em dias, para manter o histórico de execução do fluxo de trabalho após o início de uma execução.
Workflows.WebhookRedirectHostUri Não Nenhuma Define o nome do host a ser usado para URLs de retorno de chamada webhook.

Gerenciar configurações do aplicativo - local.settings.json

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

Ver definições da aplicação 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, revise as configurações do aplicativo para seu aplicativo lógico.

    Para obter mais informações sobre essas configurações, consulte o guia de referência para configurações de aplicativo disponíveis - local.settings.json.

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

Adicionar uma configuração de aplicativo no portal
  1. No separador Definições da aplicação, na parte inferior da lista, na coluna Nome, introduza a chave ou o nome da nova definição.

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

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

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

Referência para configurações de host - host.json

No Visual Studio Code, no nível raiz do seu projeto de aplicativo lógico, o arquivo de metadados host.json contém as configurações de tempo de execução e os valores padrão que se aplicam a todos os fluxos de trabalho em um recurso de aplicativo lógico, seja em execução local ou no Azure. Para ver e gerir estas definições, consulte Gerir definições de anfitrião - host.json. Você também pode encontrar informações sobre limites relacionados na documentação Limites e configuração dos Aplicativos Lógicos do Azure.

Taxa de transferência de orquestração de tarefas

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

Definição Valor predefinido Description
Jobs.BackgroundJobs.DispatchingWorkersPulseInterval 00:00:01
(1 seg.)
Define o intervalo para que os despachantes de trabalho sondem a fila de trabalhos quando a pesquisa anterior não retornar nenhum trabalho. Os despachantes de trabalho pesquisam a fila imediatamente quando a pesquisa 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 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 trabalhos monitoradas pelos despachantes de trabalhos para que os trabalhos sejam processados. Esse valor também afeta o número de partições de armazenamento onde existem filas de trabalho.
Jobs.BackgroundJobs.NumWorkersPerProcessorCount 192 instâncias de trabalhador de despacho Define o número de instâncias de trabalho de dispatcher ou dispatchers de trabalho a ter 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 trabalhador de despacho Define o número de instâncias de trabalho do dispatcher ou dispatchers de trabalho para ter por núcleo do processador, por execução sem monitoração de 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 padrão.

Nota

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

Definição Valor predefinido Description
Jobs.CleanupJobPartitionPrefixes None Exclui imediatamente todos os trabalhos de execução para os fluxos de trabalho especificados.
Jobs.SuspendedJobPartitionPartitionPrefixes Nenhuma Interrompe os trabalhos de execução para os fluxos de trabalho especificados.

O exemplo a seguir mostra a sintaxe dessas configurações em que cada ID de fluxo de trabalho é seguido por dois pontos (:) e separados por 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

Definição Valor predefinido Description
Microsoft.Azure.Workflows.ServiceProviders.MaximumAllowedTriggerStateSizeInKB 1 KB Define o tamanho máximo permitido do estado de gatilho para gatilhos baseados em recorrência, como o gatilho SFTP interno. O estado de gatilho persiste os 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 acionador

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 onde houver suporte. No entanto, o processamento em lote nem sempre é a solução correta. Por exemplo, com gatilhos do Barramento de Serviço do Azure, um lote pode reter mensagens além da duração do bloqueio. Como resultado, qualquer ação, como concluir ou abandonar, falha em tais mensagens.

Definição Valor predefinido Description
Runtime.Trigger.MaximumRunConcurrency 100 corre Define o número máximo de execuções simultâneas que um gatilho pode iniciar. Esse valor aparece na definição de simultaneidade do gatilho.
Runtime.Trigger.MaximumWaitingRuns 200 corre Define o número máximo de execuções que podem aguardar depois que as execuções simultâneas atingem o máximo. Esse valor aparece na definição de simultaneidade do gatilho. Para obter mais informações, consulte Alterar limite de execuções em espera.

Duração da execução e retenção do histórico

Definição Valor predefinido Description
Runtime.Backend.FlowRunTimeout 90.00:00:00
(90 dias)
Define a quantidade de tempo que um fluxo de trabalho pode continuar em execução antes de forçar um tempo limite. O valor mínimo para essa configuração é de 7 dias.

Importante: verifique se esse valor é menor ou igual ao valor da configuração do aplicativo chamada Workflows.RuntimeConfiguration.RetentionInDays. Caso contrário, os históricos de execução podem 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ção que você não deseja mais manter.

Executar ações

Definição Valor predefinido Description
Runtime.FlowRunRetryableActionJobCallback.ActionJobExecutionTimeout 00:10:00
(10 minutos)
Define a quantidade de tempo para que um trabalho de ação de fluxo de trabalho seja executado antes de atingir o tempo limite e tentar novamente.

Entradas e saídas

Definição Valor predefinido Description
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 padrão criados exportando aplicativos lógicos de consumo.
Runtime.ContentLink.MaximumContentSizeInBytes 104857600 Bytes Define o tamanho máximo em bytes que uma entrada ou saída pode ter em um único gatilho ou ação.
Runtime.FlowRunActionJob.MaximumActionResultSize 209715200 Bytes Define o tamanho máximo em bytes que as entradas e saídas combinadas podem ter em uma única ação.

Paginação

Definição Valor predefinido Description
Runtime.FlowRunRetryableActionJobCallback.MaximumPageCount 1000 páginas Quando a paginação é suportada e habilitada em uma operação, define o número máximo de páginas a serem retornadas ou processadas em tempo de execução.

Fragmentação

Definição Valor predefinido Description
Runtime.FlowRunRetryableActionJobCallback.MaximumContentLengthInBytesForPartialContent 1073741824 Bytes Quando a fragmentação é suportada e habilitada em uma operação, define o tamanho máximo em bytes para o conteúdo baixado ou carregado.
Runtime.FlowRunRetryableActionJobCallback.MaxChunkSizeInBytes 52428800 Bytes Quando a fragmentação é suportada e habilitada em uma operação, define o tamanho máximo em bytes para cada bloco de conteúdo.
Runtime.FlowRunRetryableActionJobCallback.MaximumRequestCountForPartialContent 1000 pedidos Quando a fragmentação é suportada e habilitada em uma operação, define o número máximo de solicitações que uma execução de ação pode fazer para baixar conteúdo.

Armazenar conteúdo embutido ou usar blobs

Definição Valor predefinido Description
Runtime.FlowRunEngine.ForeachMaximumItemsForContentInlining 20 itens Quando um For each loop 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 embutido no armazenamento de tabelas antes de armazená-las no armazenamento de blobs.
Runtime.FlowTriggerSplitOnJob.MaximumItemsForContentInlining 40 itens Quando a configuração desagrupa SplitOn 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 carateres Define o número máximo de caracteres de entrada e saída da operação para armazenar embutidos no armazenamento de tabela antes de armazenar no armazenamento de blobs.

Para cada loop

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

Até loops

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

Variáveis

Definição Valor predefinido Description
Runtime.Backend.DefaultAppendArrayItemsLimit 100000 Itens de matriz Define o número máximo de itens em uma variável com o tipo Array.
Runtime.Backend.VariableOperation.MaximumStatelessVariableSize Fluxo de trabalho sem monitoração de 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 monitoração de estado.
Runtime.Backend.VariableOperation.MaximumVariableSize Fluxo de trabalho com monitoração de 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 monitoração de estado.

Operações HTTP incorporadas

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

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

Operações HTTP Webhook incorporadas

Definição Valor predefinido Description
Runtime.Backend.HttpWebhookOperation.DefaultRetryCount 4 tentativas Define a contagem de tentativas padrão para gatilhos e ações de webhook HTTP.
Runtime.Backend.HttpWebhookOperation.DefaultRetryInterval 00:00:07
(7 seg.)
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 gatilhos e ações de webhook HTTP.
Runtime.Backend.HttpWebhookOperation.DefaultRetryMinimumInterval 00:00:05
(5 seg.)
Define o intervalo mínimo de repetição para gatilhos e ações de webhook HTTP.
Runtime.Backend.HttpWebhookOperation.DefaultWakeUpInterval 01:00:00
(1 hora)
Define o intervalo de ativação padrão para trabalhos de acionamento e ação de webhook HTTP.
Runtime.Backend.HttpWebhookOperation.MaxContentSize 104857600 Bytes Define o tamanho máximo da solicitação em bytes apenas para ações de webhook HTTP, não gatilhos. Para obter mais informações, consulte Limitações.
Runtime.Backend.HttpWebhookOperation.RequestTimeout 00:02:00
(2 minutos)
Define o valor de tempo limite da solicitação para gatilhos e ações de webhook HTTP.

Operações internas do Armazenamento do Azure

Armazenamento de Blobs

Definição Valor predefinido Description
Microsoft.Azure.Workflows.ContentStorage.RequestOptionsThreadCount None Define a contagem de threads para operações de upload e download de blob. Você pode usar essa configuração para forçar o tempo de execução 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
(2 seg.)
Define o intervalo de backoff entre as tentativas enviadas para o armazenamento de blob.
Runtime.ContentStorage.RequestOptionsMaximumAttempts 4 tentativas Define o número máximo de tentativas enviadas para o armazenamento de tabelas e filas.
Runtime.ContentStorage.RequestOptionsMaximumExecutionTime 00:02:00
(2 minutos)
Define o valor de tempo limite da operação, incluindo tentativas, para solicitações de blob do tempo de execução dos Aplicativos Lógicos do Azure.
Runtime.ContentStorage.RequestOptionsServerTimeout 00:00:30
(30 seg.)
Define o valor de tempo limite para solicitações de blob do tempo de execução dos Aplicativos Lógicos do Azure.

Armazenamento de tabelas e filas

Definição Valor predefinido Description
Runtime.DataStorage.RequestOptionsDeltaBackoff 00:00:02
(2 seg.)
Define o intervalo de backoff entre as novas tentativas enviadas para o armazenamento de tabela e fila.
Runtime.DataStorage.RequestOptionsMaximumAttempts 4 tentativas Define o número máximo de tentativas enviadas para o armazenamento de tabelas e filas.
Runtime.DataStorage.RequestOptionsMaximumExecutionTime 00:00:45
(45 seg.)
Define o valor de tempo limite da operação, incluindo tentativas, para solicitações de armazenamento de tabela e fila do tempo de execução dos Aplicativos Lógicos do Azure.
Runtime.DataStorage.RequestOptionsServerTimeout 00:00:16
(16 seg.)
Define o valor de tempo limite para solicitações de armazenamento de tabela e fila do tempo de execução dos Aplicativos Lógicos do Azure.

Partilha de ficheiros

Definição Valor predefinido Description
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

Definição Valor predefinido Description
Runtime.Backend.FunctionOperation.RequestTimeout 00:03:45
(3 min e 45 seg)
Define o valor de tempo limite de 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, consulte Limitações.
Runtime.Backend.FunctionOperation.DefaultRetryCount 4 tentativas Define a contagem de tentativas padrão para ações do Azure Functions.
Runtime.Backend.FunctionOperation.DefaultRetryInterval 00:00:07
(7 seg.)
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
(5 seg.)
Define o intervalo mínimo de repetição para ações do Azure Functions.

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

Definição Valor predefinido Description
ServiceProviders.ServiceBus.MessageSenderOperationTimeout 00:01:00
(1 minuto)
Define o tempo limite para o envio de mensagens com a operação interna do Service Bus.
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 serem usados no pool de remetentes de mensagens.

Operações SFTP integradas

Definição Valor predefinido Description
Runtime.ServiceProviders.Sftp.MaxFileSizeInBytes 2147483648 Bytes Define o tamanho máximo do arquivo em bytes para a ação Obter conteúdo do arquivo (V2).
Runtime.ServiceProviders.Sftp.MaximumFileSizeToReadInBytes 209715200 Bytes Define o tamanho máximo do arquivo em bytes para a ação Obter conteúdo do arquivo. Certifique-se de que esse valor não exceda o tamanho de memória referencial, pois essa ação lê o conteúdo do arquivo na memória.

Operações gerenciadas do conector

Definição Valor predefinido Description
Runtime.Backend.ApiConnectionOperation.RequestTimeout 00:02:00
(2 minutos)
Define o valor de tempo limite de solicitação para acionadores 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 acionadores e ações do conector de API gerenciado. Para obter mais informações, consulte Limitações.
Runtime.Backend.ApiConnectionOperation.DefaultRetryCount 4 tentativas Define a contagem de tentativas padrão para gatilhos e ações do conector de API gerenciado.
Runtime.Backend.ApiConnectionOperation.DefaultRetryInterval 00:00:07
(7 seg.)
Define o intervalo de repetição padrão para acionadores 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
(5 seg.)
Define o intervalo mínimo de repetição para acionadores 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 o gatilho de webhook do conector de API gerenciado e trabalhos de ação.

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

Definição Valor predefinido Description
Runtime.ScaleMonitor.MaxPollingLatency 00:00:30
(30 seg.)
Define a latência máxima de sondagem para dimensionamento de tempo de execução.
Runtime.Backend.Operation.MaximumRetryCount 90 tentativas Define o número máximo de novas tentativas 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 seg)
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
(5 seg.)
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 do host - host.json

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

Portal do Azure - host.json

Para rever as definições de anfitrião para a sua aplicação lógica baseada em inquilino único no portal do Azure, siga estes passos:

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

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

  3. Na página Ferramentas Avançadas, selecione Ir, que abre o ambiente Kudu para seu aplicativo lógico.

  4. Na barra de ferramentas Kudu, no menu Depurar console , selecione CMD.

  5. No portal do Azure, pare seu aplicativo lógico.

    1. No menu do aplicativo lógico, selecione Visão geral.

    2. Na barra de ferramentas do painel Visão geral , selecione Parar.

  6. No menu do aplicativo lógico, em Ferramentas de Desenvolvimento, selecione Ferramentas Avançadas.

  7. No painel Ferramentas Avançadas, selecione Ir, que abre o ambiente Kudu para seu aplicativo lógico.

  8. Na barra de ferramentas Kudu, abra o menu Depurar console e selecione CMD.

    Uma janela do console é aberta para que você possa navegar até a pasta wwwroot usando o prompt de comando. Ou, você pode procurar a estrutura de diretórios que aparece acima da janela do console.

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

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

  11. Depois que o arquivo host.json abrir, revise todas as configurações de host que foram adicionadas anteriormente para seu aplicativo lógico.

    Para obter mais informações sobre as configurações do host, consulte o guia de referência para configurações de host disponíveis - host.json.

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

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

    1. No menu do aplicativo lógico, selecione Visão geral.
    2. Na barra de ferramentas do painel Visão geral , selecione Parar.
  2. Regresse ao ficheiro host.json . Sob o extensionBundle objeto, adicione o extensions objeto, que inclui os workflow objetos e settings , por exemplo:

    {
       "version": "2.0",
       "extensionBundle": {
          "id": "Microsoft.Azure.Functions.ExtensionBundle",
          "version": "[1.*, 2.0.0)"
       },
       "extensions": {
          "workflow": {
             "settings": {
             }
          }
       }
    }
    
  3. settings No objeto, adicione uma lista simples com as configurações de host que você deseja usar para todos os fluxos de trabalho em seu 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"
             }
          }
       }
    }
    
  4. Quando terminar, lembre-se de selecionar Salvar.

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

Código do Visual Studio - host.json

Para revisar as configurações de host para seu aplicativo lógico no Visual Studio Code, execute estas etapas:

  1. Em seu projeto de aplicativo lógico, no nível do projeto raiz, localize e abra o arquivo host.json .

  2. No objeto, em workflows e settings, revise todas as extensions configurações de host que foram adicionadas anteriormente para seu aplicativo lógico. Caso contrário, o extensions objeto não aparecerá no arquivo.

    Para obter mais informações sobre as configurações do host, consulte o guia de referência para configurações de host disponíveis - host.json.

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

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

    {
       "version": "2.0",
       "extensionBundle": {
          "id": "Microsoft.Azure.Functions.ExtensionBundle",
          "version": "[1.*, 2.0.0)"
       },
       "extensions": {
          "workflow": {
             "settings": {
             }
          }
       }
    }
    
  2. settings No objeto, adicione uma lista simples com as configurações de host que você deseja usar para todos os fluxos de trabalho em seu 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óximos passos