Compartilhar via


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

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

Este guia explica como gerenciar configurações de runtime e ambiente para aplicativos lógicos Standard em Aplicativos Lógicos do Azure de locatário único.

As configurações do aplicativo para um aplicativo lógico Standard 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. 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 configurações de runtime e os 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.

As configurações são pares chave-valor que definem o nome e o valor da configuração.

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

Em aplicativos lógicos multilocatários do Azure, a implantação depende de modelos do Azure Resource Manager (modelos do ARM), que integram e gerenciam o provisionamento de recursos tanto para os aplicativos lógicos quanto para 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. Em um modelo do ARM, tudo é definido na implantação. Se você tiver que 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 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 os parâmetros a serem usados nos fluxos de trabalho, você pode primeiro 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, tais como cadeias de conexão e chaves. De modo semelhante aos modelos do ARM, em que é possível definir variáveis de ambiente no momento da implantação, você pode definir 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.

Note

Se você usar o Azure Key Vault, armazene apenas segredos, como senhas, credenciais e certificados. Não use um cofre de chaves em um fluxo de trabalho de aplicativo lógico para armazenar valores não secretos, como caminhos de URL, que o designer de fluxo de trabalho precisa para realizar chamadas. O designer não pode desreferir uma configuração de aplicativo que faça referência a um recurso do Azure Key Vault, o que resulta em um erro e uma chamada com falha. Para valores não seguros, 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, seu projeto pode incluir pastas ou arquivos ligeiramente diferentes. Por exemplo, um projeto baseado em pacote nuget tem uma pasta .bin que contém pacotes e outros arquivos de biblioteca. Um projeto baseado em pacote de extensão não inclui essa pasta de .bin .

Alguns cenários exigem um projeto baseado em pacote 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 o projeto para usar o NuGet, confira Habilitar a criação de conector integrado.

O projeto baseado em pacote de extensão padrão tem uma estrutura de arquivos e pasta semelhante ao seguinte exemplo:

MyWorkspaceName
| MyBundleBasedLogicAppProjectName
  || .vscode
  || Artifacts
     ||| Maps 
         |||| MapName1
         |||| ...
     ||| Rules
     ||| Schemas
         |||| SchemaName1
         |||| ...
  || lib
     ||| builtinOperationSdks
         |||| JAR
         |||| net472
     ||| custom
  || WorkflowName1
     ||| workflow.json
     ||| ...
  || WorkflowName2
     ||| workflow.json
     ||| ...
  || workflow-designtime
     ||| host.json
     ||| local.settings.json
  || .funcignore
  || connections.json
  || host.json
  || local.settings.json

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

Name Pasta ou arquivo Description
.vscode Folder Contém os arquivos de configurações relacionadas ao Visual Studio Code, como os arquivos extensions.json, launch.json, settings.json e tasks.json.
Artifacts Folder 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 as seguintes pastas:

- Mapas: contém mapas a serem usados para operações de transformação XML.

- Esquemas: contém esquemas a serem usados para operações de validação XML.

- Regras: artefatos para regras de negócios em projetos de mecanismo baseados em regras.
lib Folder Contém assemblies com suporte que seu aplicativo lógico pode usar ou referenciar. Você pode carregar esses assemblies em seu projeto no Visual Studio Code, mas deve adicioná-los a pastas específicas em seu projeto.

Por exemplo, essa pasta inclui as seguintes pastas:

- builtinOperationSdks: contém as pastas JAR e net472 para assemblies Java e .NET Framework, respectivamente.

- personalizado: contém assemblies personalizados do .NET Framework.

Para obter mais informações sobre os tipos de assembly com suporte e onde colocá-los em seu projeto, consulte Adicionar assemblies ao seu projeto.
< WorkflowName> Folder 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 Folder Contém arquivos de configurações relacionados ao ambiente de desenvolvimento.
.funcignore File Contém informações relacionadas ao Azure Functions Core Tools instalado.
connections.json File 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 File 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. Para obter informações de referência, consulte Editar configurações de aplicativo e configurações de host.

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 File Contém configurações de aplicativo, cadeias de conexão e outras configurações usadas pelos fluxos de trabalho ao serem executados localmente. Essas configurações e valores se aplicam somente quando você executa seus projetos em seu 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 locais que suas ferramentas de desenvolvimento locais usam para os appSettings valores. 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. Esse arquivo também contém as configurações de aplicativo que seu aplicativo lógico precisa para funcionar corretamente. Para obter informações de referência, consulte Editar configurações de aplicativo e configurações de host.

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 globais que afetam todos os fluxos de trabalho nesse aplicativo lógico durante a execução em seu 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 saber como exibir e gerenciar essas configurações, consulte Gerenciar configurações do 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, consulte a referência de configurações de aplicativo para o Azure Functions e o Work with Azure Functions Core Tools – arquivo de configurações local.

A tabela a seguir descreve as configurações de aplicativo que seu aplicativo lógico usa. Algumas configurações são necessárias para que seu aplicativo lógico funcione corretamente:

Setting Required Value Description
APP_KIND Yes workflowApp Necessário para definir o tipo de aplicativo para o recurso de aplicativo lógico Standard. O valor precisa 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 de aplicativo APP_KIND existe e está definida como workflowApp.
AZURE_AUTHORITY_HOST No None Define a autoridade padrão do aplicativo lógico Standard a ser usada para autenticação OAuth.
AzureWebJobsStorage Yes None Necessário para definir a cadeia de conexão para uma conta de armazenamento do Azure. Para obter mais informações, consulte AzureWebJobsStorage.
FUNCTIONS_EXTENSION_VERSION Yes ~4 Necessário para definir a versão do Azure Functions. Para obter mais informações, consulte FUNCTIONS_EXTENSION_VERSION.
FUNCTIONS_WORKER_RUNTIME Yes 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 necessário é dotnet para todos os aplicativos lógicos Standard novos e existentes implantados. 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 No 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 No 00:02:00
(2min)
Define o tempo de espera antes de atingir o tempo limite em qualquer operação.
ServiceProviders.Sftp.ServerAliveInterval No 00:30:00
(30 min)
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 No 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 No 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 No 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 Yes Dynamic Necessário para definir o nome do compartilhamento de arquivo 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, consulte WEBSITE_CONTENTSHARE.
WEBSITE_LOAD_ROOT_CERTIFICATES No None Define as impressões digitais para os certificados raiz serem confiáveis.
WEBSITE_NODE_DEFAULT_VERSION Yes ~ < Versão> Define a versão do Node.js ao executar os fluxos de trabalho do aplicativo lógico no Windows. Use um til (~) para que o runtime dos Aplicativos Lógicos do Azure use a última versão disponível da versão principal de destino. Por exemplo, se definido como ~18, a versão mais recente do Node.js 18 será usada. Quando você usa um til com uma versão principal, não precisa atualizar manualmente a versão secundária.

Para obter mais informações, consulte WEBSITE_NODE_DEFAULT_VERSION.
Workflows.Connection.AuthenticationAudience No None Define o público para autenticar uma conexão gerenciada (hospedada no Azure).
Workflows.CustomHostName No None Define o nome do host a ser usado para URLs de fluxo de trabalho e de saída de entrada, por exemplo, logic.contoso.com. Para obter informações sobre como configurar um nome DNS personalizado, consulte Configurar um domínio personalizado existente no Serviço de Aplicativo do Azure e habilitar HTTPS para um domínio personalizado no Serviço de Aplicativo do Azure.
Workflows.<workflowName>.FlowState No None Define o estado de <workflowName>.
Workflows.<workflowName>.RuntimeConfiguration.RetentionInDays No 90 dias Define a quantidade de tempo em dias para manter o histórico de execução para <workflowName>.

- Mínimo: 7 dias
- Máximo: 365 dias
Workflows.RuntimeConfiguration.RetentionInDays No 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 No None 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 configurações de aplicativo, selecione e examine as seções a seguir para o portal do Azure, o Visual Studio Code ou a CLI do Azure. Para configurações de aplicativo específicas para aplicativos lógicos, consulte Referência para configurações de aplicativo – 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 da barra lateral, 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, consulte Referência para configurações de aplicativo – local.settings.json.

  4. Para exibir todos os valores, na barra de ferramentas da página, selecione Mostrar Valores. Ou, para exibir um único valor, na coluna Valor , selecione Mostrar valor (ícone de olho).

Adicionar uma configuração de aplicativo no portal
  1. Na guia Configurações do aplicativo , na barra de ferramentas, selecione Adicionar.

  2. No painel Adicionar/Editar configuração do aplicativo, em Nome, insira a chave ou o nome da nova configuração.

  3. Para Valor, insira o valor da nova configuração.

  4. Quando terminar, 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 Logic App, 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 Logic App, seja em execução local ou no Azure. Para saber como exibir e gerenciar essas configurações, consulte 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.

Setting Valor padrão Description
Jobs.BackgroundJobs.DispatchingWorkersPulseInterval 00:00:01
(1 s)
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 dispatcher ou que os dispatchers 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.

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

Note

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 desfazer ou recuperar dessas operações.

Setting Valor padrão Description
Jobs.CleanupJobPartition None Exclui imediatamente todos os trabalhos de execução dos fluxos de trabalho especificados.
Jobs.SuspendedJobPartition None Interrompe todos os trabalhos de execução dos fluxos de trabalho especificados.
SequencerJobs.SuspendedSequencerPartition None Interrompe os trabalhos de execução do sequenciador para os fluxos de trabalho especificados.

Para especificar fluxos de trabalho individuais, use a sintaxe a seguir em que cada ID de fluxo de trabalho é seguida por dois-pontos (:) e é separada por um ponto-e-vírgula (;):

"Jobs.CleanupJobPartition": "<workflow-ID-1>:;<workflow-ID-2>",
"Jobs.SuspendedJobPartition": "<workflow-ID-1>:;<workflow-ID-2>:",
"SequencerJobs.SuspendedSequencerPartition": "<workflow-ID-1>:;<workflow-ID-2>:"

Para cancelar uma execução específica, forneça a ID de execução seguindo a ID do fluxo de trabalho com 2D como separador, por exemplo:

"Jobs.SuspendedJobPartition": "<workflow-ID-1>:2D<run-ID>;",

Gatilhos baseados em recorrência

Setting Valor padrão Description
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 de simultaneidade a seguir se aplicam somente a fluxos de trabalho que começam com um gatilho baseado em recorrência para conectores internos baseados no provedor de serviços e controlam o número de fluxos de trabalho executados simultaneamente ou ao mesmo tempo.

Para um fluxo de trabalho que começa com um gatilho baseado em função, você poderá tentar configurar o envio em lote quando houver suporte. No entanto, nem sempre o envio em lote é a solução correta. Por exemplo, com os gatilhos do 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.

Setting Valor padrão Description
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, veja Alterar o limite de execuções de espera.

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

Setting Valor padrão Description
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 é menor ou igual ao valor da configuração do aplicativo denominada 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.

Executar ações

Setting Valor padrão Description
Runtime.FlowRunRetryableActionJobCallback.ActionJobExecutionTimeout 00:10:00
(10 minutos)
Define a duração de um trabalho de ação de fluxo de trabalho a ser executado antes do tempo limite e tentar novamente. Para alterar o tempo limite padrão para uma operação interna, como o SAP, defina também a configuração do functionTimeout host. Para obter mais informações, consulte a próxima entrada.
functionTimeout 00:30:00
(30 minutos)
Define a duração a ser executada antes do tempo limite para chamadas do Azure Functions e algumas operações internas, como SAP, que funcionam como chamadas de função. Os aplicativos lógicos padrão usam o mesmo design subjacente que os aplicativos de funções. Portanto, a configuração do functionTimeout host no Azure Functions também afeta operações internas que são executadas como chamadas de função. Para obter mais informações, consulte functionTimeout.

Observação: no arquivo host.json , a functionTimeout configuração existe no mesmo nível do extensions objeto em que as configurações do host existem para um aplicativo lógico Standard. Para obter mais informações, consulte o exemplo nesta seção: alterar o valor do tempo limite para operações internas baseadas em função.

Alterar o valor do tempo limite de execução para operações internas baseadas em funções

Para operações internas que são executadas como chamadas de função no Azure Functions, adicione as configurações de host Runtime.FlowRunRetryableActionJobCallback.ActionJobExecutionTimeout e functionTimeout ao arquivo host.json, conforme mostrado no exemplo a seguir:

{
   "version": "2.0",
   "extensionBundle": {
      "id": "Microsoft.Azure.Functions.ExtensionBundle.Workflows",
      "version": "[1.*, 2.0.0)"
   },
   "extensions": {
      "workflow": {
         "settings": {
            "Runtime.FlowRunRetryableActionJobCallback.ActionJobExecutionTimeout": "01:00:00"
         }
      }
   },
   "functionTimeout": "01:00:00"
}

Entradas e saídas

Setting Valor padrão Description
Microsoft.Azure.Workflows.TemplateLimits.InputParametersLimit 50 Altera o limite padrão em 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.

Pagination

Setting Valor padrão Description
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.

Chunking

Setting Valor padrão Description
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

Setting Valor padrão Description
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 um gatilho que oferece suporte à divisão em lotes tem a configuração Dividir em ou splitOn habilitada, ele separa os itens da matriz em várias instâncias de fluxo de trabalho. O valor de cada item de matriz é armazenado juntamente 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 32384 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

Setting Valor padrão Description
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 For each loop.
Runtime.Backend.FlowDefaultSplitOnItemsLimit 100000 itens de matriz Define o número máximo de itens de uma matriz a desagregar ou dividir em várias instâncias de fluxo de trabalho com base na propriedade 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 For each loop.

Loops Until

Setting Valor padrão Description
Runtime.Backend.MaximumUntilLimitCount 5000 iterações Para um fluxo de trabalho com 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
(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 Count propriedade em uma Until ação.

Variables

Setting Valor padrão Description
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

Setting Valor padrão Description
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
(7 s)
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
(5 s)
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 internas do webhook HTTP

Setting Valor padrão Description
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
(7 s)
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
(5 s)
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 Blobs

Setting Valor padrão 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 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
(2 s)
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
(30 s)
Define o valor de tempo limite das solicitações de blob no runtime dos Aplicativos Lógicos do Azure.

Armazenamento de tabelas e filas

Setting Valor padrão Description
Runtime.DataStorage.RequestOptionsDeltaBackoff 00:00:02
(2 s)
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
(45 s)
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
(16 s)
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

Setting Valor padrão 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

Setting Valor padrão Description
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
(7 s)
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 s)
Define o intervalo mínimo de repetição para ações do Azure Functions.

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

Setting Valor padrão Description
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

Setting Valor padrão Description
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

Setting Valor padrão Description
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
(7 s)
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
(5 s)
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

Setting Valor padrão Description
Runtime.ScaleMonitor.MaxPollingLatency 00:00:30
(30 s)
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
(5 s)
Define o intervalo mínimo na definição de política de repetição para uma operação de fluxo de trabalho.

Limitations

Tamanho máximo do conteúdo:

Por padrão, os gatilhos internos, como HTTP ou Solicitação, são limitados ao tamanho da mensagem descrito em Referência de limites e configuração: mensagens. Para lidar com arquivos maiores que o limite, tente carregar seu conteúdo como um blob para Armazenamento de Blobs do Azure e obtenha seu conteúdo usando o conector de Blob do Azure.

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, consulte Referência para configurações de host – 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 de recursos, em Ferramentas de Desenvolvimento, 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.

    Uma janela do console é aberta para que você possa navegar até 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. Depois que o arquivo host.json for aberto, examine 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 Referência para configurações de host – 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. Retorne à página visão geral do aplicativo lógico e selecione Reiniciar.