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.

Definição Valor predefinido Description
AzureWebJobsStorage None Define a cadeia de conexão para uma conta de armazenamento do Azure. Para obter mais informações, consulte AzureWebJobsStorage
FUNCTIONS_WORKER_RUNTIME node Define o tempo de execução do operador de linguagem a ser usado com o recurso e fluxos de trabalho do aplicativo lógico. No entanto, essa configuração não é mais necessária devido ao suporte multilíngüe habilitado automaticamente.

Para obter mais informações, consulte FUNCTIONS_WORKER_RUNTIME.
ServiceProviders.Sftp.FileUploadBufferTimeForTrigger 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 00:02:00
(2 minutos)
Define o tempo de espera antes de atingir o tempo limite em qualquer operação.
ServiceProviders.Sftp.ServerAliveInterval 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 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 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 00:02:00
(2 minutos)
Define o valor de tempo limite de solicitação para operações do provedor de serviços SQL.
TARGET_BASED_SCALING_ENABLED 1 Define os Aplicativos Lógicos do Azure para usar o dimensionamento baseado em destino (1) ou o escalonamento incremental (0). Por padrão, o dimensionamento baseado no destino é ativado automaticamente. Para obter mais informações, consulte Dimensionamento baseado em destino.
WEBSITE_LOAD_ROOT_CERTIFICATES Nenhuma Define as impressões digitais para que os certificados raiz sejam confiáveis.
Workflows.Connection.AuthenticationAudience Nenhuma Define o público para autenticar uma conexão gerenciada (hospedada pelo Azure).
Workflows.CustomHostName 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 Nenhuma Define o estado de <workflowName>.
Workflows.<workflowName>.RuntimeConfiguration.RetentionInDays Nenhuma Define a quantidade de tempo em dias para manter o histórico de execução para <workflowName>.
Workflows.RuntimeConfiguration.RetentionInDays 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 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.

    Screenshot shows Azure portal with app settings page and values for a Standard logic app resource.

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ânciasde 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>:"

Dimensionamento baseado em destino

Os Aplicativos Lógicos do Azure de locatário único oferecem a opção de selecionar seus recursos de computação preferidos e configurar os recursos do aplicativo lógico para dimensionar dinamicamente com base em demandas de carga de trabalho variáveis. O modelo de dimensionamento baseado em destino usado pelos Aplicativos Lógicos do Azure inclui configurações que você pode usar para ajustar o mecanismo de dimensionamento dinâmico subjacente do modelo, o que pode resultar em tempos de expansão e expansão mais rápidos. Para obter mais informações sobre o modelo de dimensionamento baseado em destino, consulte Dimensionamento baseado em destino para fluxos de trabalho padrão em aplicativos lógicos do Azure de locatário único.

Considerações

  • O dimensionamento baseado em destino não está disponível nem é suportado para fluxos de trabalho padrão executados em um ambiente do Serviço de Aplicativo ou plano de consumo.

  • Se você tiver solicitações de expansão sem nenhuma solicitação de expansão, os Aplicativos Lógicos do Azure usarão o valor máximo de expansão. O dimensionamento baseado no destino pode reduzir instâncias de trabalho não utilizadas mais rapidamente, resultando em um uso de recursos mais eficiente.

Requisitos

Configurações de dimensionamento baseadas em destino no host.json

Definição Valor predefinido Description
Runtime.TargetScaler.TargetConcurrency null O número de execuções de destino por instância de trabalho. Por predefinição, o valor é null. Se você deixar esse valor inalterado, seu aplicativo lógico assumirá como padrão o uso de simultaneidade dinâmica. Você pode definir um valor máximo direcionado para sondagem de trabalho simultânea usando essa configuração. Para obter um exemplo, consulte a seção a seguir a esta tabela.
Runtime.TargetScaler.TargetScalingCPU 70 A porcentagem máxima de uso da CPU que você espera na simultaneidade de destino. Você pode alterar essa porcentagem padrão para cada aplicativo lógico usando essa configuração. Para obter um exemplo, consulte a seção a seguir a esta tabela.
Runtime.TargetScaler.TargetScalingFactor 0.3 Um valor numérico de até 1.0 que determina o grau de intensidade de 0.05 escala. Um fator de escalonamento alvo mais alto resulta em escalonamento mais agressivo. Um fator de escala alvo mais baixo resulta em um escalonamento mais conservador. Você pode ajustar o fator de dimensionamento de destino para cada aplicativo lógico usando essa configuração. Para obter um exemplo, consulte a seção a seguir a esta tabela.
Exemplo de TargetConcurrency
{
   "version": "2.0",
   "extensionBundle": {
      "id": "Microsoft.Azure.Functions.ExtensionBundle.Workflows",
      "version": "[1.*, 2.0.0)"
   },
   "extensions": {
      "workflow": {
         "Settings": {
            "Runtime.TargetScaler.TargetConcurrency": "280"
         }
      }
   }
}

Exemplo de TargetScalingCPU

{
   "version": "2.0",
   "extensionBundle": {
      "id": "Microsoft.Azure.Functions.ExtensionBundle.Workflows",
      "version": "[1.*, 2.0.0)"
   },
   "extensions": {
      "workflow": {
         "Settings": {
            "Runtime.TargetScaler.TargetScalingCPU": "76"
         }
      }
   }
}
Exemplo de TargetScalingFactor
{
   "version": "2.0",
   "extensionBundle": {
      "id": "Microsoft.Azure.Functions.ExtensionBundle.Workflows",
      "version": "[1.*, 2.0.0)"
   },
   "extensions": {
      "workflow": {
         "Settings": {
            "Runtime.TargetScaler.TargetScalingFactor": "0.62"
         }
      }
   }
}

Desativar o dimensionamento baseado em destino

Por padrão, o dimensionamento baseado no destino é ativado automaticamente. Para optar por não usar o dimensionamento baseado em destino e reverter para o dimensionamento incremental, adicione a configuração do aplicativo chamada TARGET_BASED_SCALING_ENABLED e defina o valor definido como 0 em seu recurso de aplicativo lógico padrão usando o portal do Azure ou no arquivo de local.settings.json do seu projeto de aplicativo lógico usando o Visual Studio Code. Para obter mais informações, consulte Gerenciar configurações do aplicativo - local.settings.json.

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