Editar as configurações de host e de aplicativo para aplicativos lógicos Standard nos Aplicativos Lógicos do Azure de locatário único
Aplica-se a: Aplicativos Lógicos do Azure (Standard)
Nos Aplicativos Lógicos do Azure de locatário único, as configurações de aplicativo de um aplicativo lógico padrão especificam as opções de configuração global que afetam todos os fluxos de trabalho nesse aplicativo lógico. No entanto, essas configurações se aplicam somente quando esses fluxos de trabalho são executados no ambiente de desenvolvimento local. Durante a execução local, os fluxos de trabalho podem acessar essas configurações de aplicativo como variáveis de ambiente local, que são usadas por ferramentas de desenvolvimento locais para valores que geralmente podem trocar de ambiente. Por exemplo, esses valores podem conter cadeias de conexão. Quando você faz a implantação no Azure, as configurações de aplicativo são ignoradas e não são incluídas na implantação.
Seu aplicativo lógico também tem configurações de host, que especificam as definições de configuração de runtime e os valores que se aplicam a todos os fluxos de trabalho desse aplicativo lógico, por exemplo, valores padrão para taxa de transferência, capacidade, tamanho de dados etc., sejam eles executados localmente ou no Azure.
Configurações de aplicativo, parâmetros e implantação
Nos Aplicativos Lógicos do Azure multilocatário, a implantação depende de modelos do ARM (modelos do Resource Manager), que combinam e processam o provisionamento de recursos para os aplicativos lógicos e a infraestrutura. Esse design representa um desafio quando você precisa manter variáveis de ambiente para aplicativos lógicos entre vários ambientes de desenvolvimento, teste e produção. Tudo em um modelo do ARM é definido na implantação. Se você precisar alterar apenas uma variável, precisará reimplantar tudo.
Nos Aplicativos Lógicos do Azure de locatário único, a implantação fica mais fácil, pois você pode separar o provisionamento de recursos entre os aplicativos e a infraestrutura. Use parâmetros para eliminar valores que podem mudar entre ambientes. Ao definir os parâmetros a serem usados nos fluxos de trabalho, primeiro, você pode se concentrar em criar os fluxos de trabalho e inserir as variáveis específicas do ambiente mais tarde. Você pode chamar e referenciar as variáveis de ambiente em runtime usando parâmetros e configurações de aplicativo. Dessa forma, não será preciso reimplantá-las com frequência.
As configurações de aplicativo se integram ao Azure Key Vault. Você pode referenciar diretamente cadeias de caracteres seguras, como cadeias de conexão e chaves. De modo semelhante aos modelos do ARM (modelos do Azure Resource Manager), em que você pode definir variáveis de ambiente no momento da implantação, defina as configurações de aplicativo na definição de fluxo de trabalho do aplicativo lógico. Em seguida, você pode capturar os valores da infraestrutura gerados dinamicamente, como pontos de extremidade de conexão, cadeias de caracteres de armazenamento, entre outros. No entanto, as configurações de aplicativo têm limitações de tamanho e não podem ser referenciadas em algumas áreas nos Aplicativos Lógicos do Azure.
Observação
Se você usar o Key Vault, certifique-se de armazenar apenas segredos, como senhas, credenciais e certificados. Em um fluxo de trabalho de aplicativo lógico, não use o Key Vault para armazenar valores que não são segredos, como caminhos de URL, que o designer do fluxo de trabalho precisa fazer chamadas. O designer não pode desreferenciar uma configuração de aplicativo que faça referência a um tipo de recurso do Key Vault; isso resulta em um erro e uma chamada com falha. Para valores que não são segredos, armazene-os diretamente nas configurações do aplicativo.
Para obter mais informações sobre como configurar seus aplicativos lógicos para implantação, confira a seguinte documentação:
- Criar parâmetros para valores que mudam em fluxos de trabalho entre ambientes para Aplicativos Lógicos do Azure de locatário único
- Visão geral da implantação do DevOps para aplicativos lógicos baseados em locatário único
- Configurar a implantação do DevOps para aplicativos lógicos baseados em locatário único
Estrutura do projeto do Visual Studio Code
No Visual Studio Code, seu projeto de aplicativo lógico tem um dos seguintes tipos:
- Baseado em pacote de extensão (Node.js), que é o tipo padrão
- Baseado em pacote NuGet (.NET), que você pode converter pelo tipo padrão
Com base nesses tipos, o projeto incluirá pastas e arquivos ligeiramente diferentes. Um projeto baseado em NuGet inclui uma pasta .bin que contém pacotes e outros arquivos de biblioteca. Um projeto baseado em pacote não inclui a pasta .bin e outros arquivos. Alguns cenários exigem um projeto baseado em NuGet para que o aplicativo seja executado, como quando você deseja desenvolver e executar operações personalizadas. Para obter mais informações sobre como converter o projeto para usar o NuGet, confira Habilitar a criação de conector integrado.
Para o projeto padrão baseado em pacote, seu projeto tem uma estrutura de pasta e arquivo semelhante ao seguinte exemplo:
MyBundleBasedLogicAppProjectName
| .vscode
| Artifacts
|| Maps
||| MapName1
||| ...
|| Schemas
||| SchemaName1
||| ...
| WorkflowName1
|| workflow.json
|| ...
| WorkflowName2
|| workflow.json
|| ...
| workflow-designtime
| .funcignore
| connections.json
| host.json
| local.settings.json
No nível raiz do projeto, você pode encontrar os seguintes arquivos e pastas com outros itens:
Nome | Pasta ou arquivo | Descrição |
---|---|---|
.vscode | Pasta | Contém os arquivos de configurações relacionadas ao Visual Studio Code, como os arquivos extensions.json, launch.json, settings.json e tasks.json. |
Artefatos | Pasta | Contém artefatos de conta de integração que você define e usa em fluxos de trabalho que suportam cenários B2B (entre empresas). Por exemplo, a estrutura de exemplo inclui mapas e esquemas para operações de transformação e validação XML. |
<WorkflowName> | Pasta | Para cada fluxo de trabalho, a pasta <WorkflowName> inclui um arquivo workflow.json, que contém a definição JSON subjacente desse fluxo de trabalho. |
workflow-designtime | Pasta | Contém arquivos de configurações relacionados ao ambiente de desenvolvimento. |
.funcignore | Arquivo | Contém informações relacionadas ao Azure Functions Core Tools instalado. |
connections.json | Arquivo | Contém os metadados, pontos de extremidade e chaves para conexões gerenciadas e funções do Azure usados pelos fluxos de trabalho. Importante: para usar diferentes conexões e funções para cada ambiente, certifique-se de parametrizar esse arquivo connections.json e atualizar os pontos de extremidade. |
host. JSON | Arquivo | Contém definições e valores de configuração específicos do runtime, como limites padrão para a plataforma de Aplicativos Lógicos do Azure de locatário único, aplicativos lógicos, fluxos de trabalho, gatilhos e ações. No nível raiz do projeto de aplicativo lógico, o arquivo de metadados host.json contém as definições de configuração e os valores padrão que todos os fluxos de trabalho no mesmo aplicativo lógico usam durante a execução, seja localmente ou no Azure. Observação: quando você cria seu aplicativo lógico, o Visual Studio Code cria um arquivo host.snapshot.*.json em seu contêiner de armazenamento. Se você excluir seu aplicativo lógico, esse arquivo de backup não será excluído. Se você criar outro aplicativo lógico com o mesmo nome, outro arquivo de instantâneo será criado. Você pode ter apenas até dez instantâneos para o mesmo aplicativo lógico. Se ultrapassar esse limite, você verá o seguinte erro: Microsoft.Azure.WebJobs.Script.WebHost: Repository has more than 10 non-decryptable secrets backups (host)) Para resolver esse erro, exclua os arquivos de instantâneo adicionais do seu contêiner de armazenamento. |
local.settings.json | Arquivo | Contém configurações de aplicativo, cadeias de conexão e outras configurações usadas pelos fluxos de trabalho ao serem executados localmente. Ou seja, essas configurações e valores se aplicam somente quando você executa seus projetos no ambiente de desenvolvimento local. Durante a implantação para o Azure, o arquivo e as configurações são ignorados e não são incluídos na implantação. Esse arquivo armazena configurações e valores como variáveis de ambiente local que são usadas pelas ferramentas de desenvolvimento local como os valores appSettings . Você pode chamar e fazer referência a essas variáveis de ambiente no runtime e durante a implantação usando configurações de aplicativo e parâmetros. Importante: o arquivo local.settings.json pode conter segredos; verifique se você também excluiu esse arquivo do seu controle do código-fonte do projeto. |
Referência para configurações de aplicativo – local.settings.json
No Visual Studio Code, no nível raiz do projeto de aplicativo lógico, o arquivo local.settings.json contém opções de configuração global que afetam todos os fluxos de trabalho desse aplicativo lógico durante a execução no ambiente de desenvolvimento local. Quando os fluxos de trabalho são executados localmente, essas configurações são acessadas como variáveis de ambiente local e os valores delas geralmente podem mudar entre os vários ambientes em que você executar os fluxos de trabalho. Para ver e gerenciar essas configurações, examine Gerenciar configurações de aplicativo – local.settings.json.
As configurações de aplicativo dos Aplicativos Lógicos do Azure funcionam de modo semelhante às configurações de aplicativo do Azure Functions ou dos Aplicativos Web do Azure. Se você já usou esses outros serviços antes, talvez já tenha se familiarizado com as configurações de aplicativo. Para obter mais informações, examine a Referência de configurações de aplicativo do Azure Functions e Trabalhar com o Azure Functions Core Tools – Arquivo de configurações local.
Para que o fluxo de trabalho seja executado corretamente, algumas configurações de aplicativo são necessárias.
Configuração | Obrigatório | Valor | Descrição |
---|---|---|---|
APP_KIND |
Sim | workflowApp |
Necessário para definir o tipo de aplicativo para o recurso de aplicativo lógico Standard. O valor deve ser definido como workflowApp . Observação: em alguns cenários, essa configuração de aplicativo pode estar ausente, como devido à automação com modelos do Azure Resource Manager ou outros cenários em que a configuração não está incluída. Se determinadas ações não funcionarem, como a ação Executar código JavaScript, ou o fluxo de trabalho parar de funcionar, verifique se a configuração do aplicativo APP_KIND existe e está definida como workflowApp . |
AzureWebJobsStorage |
Sim | Nenhum | Necessário para definir a cadeia de conexão para uma conta de armazenamento do Azure. Para obter mais informações, confira AzureWebJobsStorage. |
FUNCTINONS_EXTENSION_VERSION |
Sim | ~4 |
Necessário para definir a versão do Azure Functions. Para obter mais informações, confira FUNCTIONS_EXTENSION_VERSION. |
FUNCTIONS_WORKER_RUNTIME |
Sim | dotnet |
Necessário para definir o runtime de trabalho da linguagem de programação para o recurso de aplicativo lógico e fluxos de trabalho. Observação: o valor dessa configuração foi definido anteriormente como node , mas agora o valor dotnet é necessário para todos os aplicativos lógicos Standard implantados, tanto novos quanto atuais. Essa alteração não deve afetar o runtime do fluxo de trabalho e tudo deve funcionar da mesma maneira. Para obter mais informações, consulte FUNCTIONS_WORKER_RUNTIME. |
ServiceProviders.Sftp.FileUploadBufferTimeForTrigger |
Não | 00:00:20 (20 segundos) |
Define o tempo de buffer para ignorar arquivos que têm um carimbo de data/hora da última modificação que é posterior à hora atual. Essa configuração é útil quando gravações de arquivo grandes demoram muito e evita a busca de dados para um arquivo parcialmente gravado. |
ServiceProviders.Sftp.OperationTimeout |
Não | 00:02:00 (2min) |
Define o tempo de espera antes de atingir o tempo limite em qualquer operação. |
ServiceProviders.Sftp.ServerAliveInterval |
Não | 00:30:00 (30 minutos) |
Envia uma mensagem "keep alive" para manter a conexão SSH ativa, se nenhuma troca de dados com o servidor ocorrer durante o período especificado. |
ServiceProviders.Sftp.SftpConnectionPoolSize |
Não | 2 conexões |
Define o número de conexões que cada processador pode armazenar em cache. O número total de conexões que você pode armazenar em cache é ProcessorCount multiplicado pelo valor de configuração. |
ServiceProviders.MaximumAllowedTriggerStateSizeInKB |
Não | 10 KB, que é ~1.000 arquivos |
Define o tamanho da entidade de estado do gatilho em quilobytes, que é proporcional ao número de arquivos na pasta monitorada e é usado para detectar arquivos. Se o número de arquivos exceder 1.000, aumente esse valor. |
ServiceProviders.Sql.QueryTimeout |
Não | 00:02:00 (2min) |
Define o valor de tempo limite da solicitação para operações do provedor de serviços do SQL. |
WEBSITE_CONTENTSHARE |
Sim | Dinâmico | Necessário para definir o nome do compartilhamento de arquivos que o Azure Functions usa para armazenar arquivos de configuração e código do aplicativo de funções e é usado com WEBSITE_CONTENTAZUREFILECONNECTIONSTRING. O padrão é uma cadeia de caracteres exclusiva gerada pelo runtime. Para obter mais informações, confira WEBSITE_CONTENTSHARE. |
WEBSITE_LOAD_ROOT_CERTIFICATES |
Não | Nenhum | Define as impressões digitais para os certificados raiz serem confiáveis. |
Workflows.Connection.AuthenticationAudience |
Não | Nenhum | Define o público para autenticar uma conexão gerenciada (hospedada no Azure). |
Workflows.CustomHostName |
Não | Nenhum | Define o nome do host a ser usado para os URLs de fluxo de trabalho e de entrada-saída, por exemplo, "logic.contoso.com". Para obter informações para configurar um nome DNS personalizado, consulte Mapear um nome DNS personalizado existente para o Serviço de Aplicativo do Azure e Proteger um nome DNS personalizado com uma associação TLS/SSL em Serviço de Aplicativo do Azure. |
Workflows.<workflowName>.FlowState |
Não | Nenhum | Define o estado do <workflowName>. |
Workflows.<workflowName>.RuntimeConfiguration.RetentionInDays |
Não | Nenhum | Define a quantidade de tempo em dias para manter o histórico de execução de <workflowName>. |
Workflows.RuntimeConfiguration.RetentionInDays |
Não | 90 dias |
Define o tempo necessário em dias para manter o histórico de execuções do fluxo de trabalho depois que uma execução é iniciada. |
Workflows.WebhookRedirectHostUri |
Não | Nenhum | Define o nome do host a ser usado para URLs de retorno de chamada do webhook. |
Gerenciar as configurações de aplicativo – local.settings.json
Para adicionar, atualizar ou excluir as configurações do aplicativo, selecione e examine as seções a seguir do portal do Azure, do Visual Studio Code, da CLI do Azure ou do modelo do ARM (Bicep). Para obter configurações de aplicativo específicas de aplicativos lógicos, examine o guia de referência das configurações de aplicativo disponíveis – local.settings.json.
Exibir as configurações do aplicativo no portal
Na caixa de pesquisa do portal do Azure, localize e abra seu aplicativo lógico.
No menu do aplicativo lógico, em Configurações, selecione Variáveis de ambiente.
Na página Variáveis de ambiente, na guia Configurações do aplicativo, examine as configurações do aplicativo para seu aplicativo lógico.
Para obter mais informações sobre essas configurações, examine o Guia de referência para obter as configurações de aplicativo disponíveis – local.settings.json.
Para ver todos os valores, selecione Mostrar Valores. Ou, para exibir um único valor, na coluna Valor, ao lado do valor, selecione o "olho".
Adicionar uma configuração de aplicativo no portal
Referência de configurações de host – host.json
No Visual Studio Code, no nível raiz do projeto de aplicativo lógico, o arquivo de metadados host.json contém as configurações de runtime e os valores padrão que se aplicam a todos os fluxos de trabalho de um recurso de aplicativo lógico, sejam executados localmente ou no Azure. Para ver e gerenciar essas configurações, examine Gerenciar configurações de host – host.json. Encontre também informações de limites relacionadas na documentação Limites e configuração dos Aplicativos Lógicos do Azure.
Produtividade da orquestração de trabalho
Essas configurações afetam a produtividade e a capacidade dos Aplicativos Lógicos do Azure de locatário único de executar operações de fluxo de trabalho.
Configuração | Valor padrão | Descrição |
---|---|---|
Jobs.BackgroundJobs.DispatchingWorkersPulseInterval |
00:00:01 (1s) |
Define o intervalo para os distribuidores de trabalho sondarem a fila de trabalho quando a sondagem anterior não retorna nenhum trabalho. Os distribuidores de trabalho sondam a fila imediatamente quando a sondagem anterior retorna um trabalho. |
Jobs.BackgroundJobs.NumPartitionsInJobDefinitionsTable |
4 partições de trabalho |
Define o número de partições de trabalho na tabela de definição de trabalho. Esse valor controla a quantidade de taxa de transferência de execução afetada pelos limites de armazenamento de partição. |
Jobs.BackgroundJobs.NumPartitionsInJobTriggersQueue |
1 fila de trabalhos |
Define o número de filas de trabalho monitoradas por distribuidores de trabalho para os trabalhos a serem processados. Esse valor também afeta o número de partições de armazenamento em que as filas de trabalho estão localizadas. |
Jobs.BackgroundJobs.NumWorkersPerProcessorCount |
192 instâncias de trabalho do distribuidor |
Define o número que as instâncias de trabalho do distribuidor ou que os distribuidores de trabalho terão por núcleo de processador. Esse valor afeta o número de execuções de fluxo de trabalho por núcleo. |
Jobs.BackgroundJobs.StatelessNumWorkersPerProcessorCount |
192 instâncias de trabalho do distribuidor |
Define o número que as instâncias de trabalho do distribuidor ou que os distribuidores de trabalho terão por núcleo de processador, por execução sem estado. Esse valor afeta o número de ações de fluxo de trabalho simultâneas que são processadas por execução. |
Ambas as configurações a seguir são usadas para interromper manualmente e excluir imediatamente os fluxos de trabalho especificados no aplicativo lógico Standard.
Observação
Use essas configurações com cuidado e somente em ambientes de não produção, como ambientes de teste de desempenho ou de carga, pois não é possível recuperar ou desfazer essas operações.
Configuração | Valor padrão | Descrição |
---|---|---|
Jobs.CleanupJobPartitionPrefixes |
Nenhum | Exclui imediatamente todos os trabalhos de execução dos fluxos de trabalho especificados. |
Jobs.SuspendedJobPartitionPartitionPrefixes |
Nenhum | Interrompe todos os trabalhos de execução dos fluxos de trabalho especificados. |
O exemplo a seguir mostra a sintaxe dessas configurações em que cada ID de fluxo de trabalho é seguida por dois-pontos (:) e separada por um ponto-e-vírgula (;):
"Jobs.CleanupJobPartitionPrefixes": "<workflow-ID-1>:; <workflow-ID-2:",
"Jobs.SuspendedJobPartitionPrefixes": "<workflow-ID-1>:; <workflow-ID-2>:"
Gatilhos baseados em recorrência
Configuração | Valor padrão | Descrição |
---|---|---|
Microsoft.Azure.Workflows.ServiceProviders.MaximumAllowedTriggerStateSizeInKB |
1 KB |
Define o tamanho máximo permitido do estado do gatilho para gatilhos baseados em recorrência, como o gatilho SFTP integrado. O estado do gatilho mantém dados em vários gatilhos baseados em recorrência do provedor de serviços. Importante: com base no tamanho do armazenamento, evite definir esse valor muito alto, o que pode afetar negativamente o armazenamento e o desempenho. |
Simultaneidade do gatilho
As configurações a seguir funcionam apenas para fluxos de trabalho que começam com um gatilho baseado em recorrência para conectores internos baseados em provedor de serviços. Para um fluxo de trabalho que começa com um gatilho baseado em função, você pode tentar configurar o envio em lote quando houver suporte. No entanto, nem sempre o envio em lote é a solução correta. Por exemplo, com gatilhos de Barramento de Serviço do Azure, um lote pode manter as mensagens além da duração do bloqueio. Como resultado, qualquer ação, seja concluída ou abandonada, falha nessas mensagens.
Configuração | Valor padrão | Descrição |
---|---|---|
Runtime.Trigger.MaximumRunConcurrency |
100 execuções |
Define o número máximo de execuções simultâneas que um gatilho pode iniciar. Esse valor é exibido na definição de simultaneidade do gatilho. |
Runtime.Trigger.MaximumWaitingRuns |
200 execuções |
Define o número máximo de execuções que podem aguardar após as execuções simultâneas atenderem ao máximo. Esse valor é exibido na definição de simultaneidade do gatilho. Para saber mais, confira Alterar o limite de execuções de espera. |
Duração de execução e retenção de histórico
Configuração | Valor padrão | Descrição |
---|---|---|
Runtime.Backend.FlowRunTimeout |
90.00:00:00 (90 dias) |
Define o tempo que um fluxo de trabalho pode continuar em execução antes de um tempo limite ser forçado. O valor mínimo para essa configuração é de 7 dias. Importante: verifique se esse valor é inferior ou igual ao valor da configuração de aplicativo chamada Workflows.RuntimeConfiguration.RetentionInDays . Caso contrário, os históricos de execuções poderão ser excluídos antes que os trabalhos associados sejam concluídos. |
Runtime.FlowMaintenanceJob.RetentionCooldownInterval |
7.00:00:00 (7 dias) |
Define a quantidade de tempo em dias como o intervalo entre quando verificar e excluir o histórico de execuções que você não deseja mais manter. |
Ações de execução
Configuração | Valor padrão | Descrição |
---|---|---|
Runtime.FlowRunRetryableActionJobCallback.ActionJobExecutionTimeout |
00:10:00 (10 minutos) |
Define a quantidade de tempo que um trabalho de ação de fluxo de trabalhos deve ser executado antes de atingir o tempo limite e tentar novamente. |
Entradas e saídas
Configuração | Valor padrão | Descrição |
---|---|---|
Microsoft.Azure.Workflows.TemplateLimits.InputParametersLimit |
50 |
Altere o limite padrão de parâmetros de fluxo de trabalho entre ambientes até 500 para aplicativos lógicos Standard criados pela exportação de aplicativos lógicos de consumo. |
Runtime.ContentLink.MaximumContentSizeInBytes |
104857600 bytes |
Define o tamanho máximo em bytes que uma entrada ou uma saída pode ter em um gatilho ou uma ação. |
Runtime.FlowRunActionJob.MaximumActionResultSize |
209715200 bytes |
Define o tamanho máximo em bytes que as entradas e as saídas combinadas podem ter em uma única ação. |
Paginação
Configuração | Valor padrão | Descrição |
---|---|---|
Runtime.FlowRunRetryableActionJobCallback.MaximumPageCount |
1000 páginas |
Quando há suporte para a paginação e ela está habilitada em uma operação, define o número máximo de páginas a serem retornadas ou processadas em runtime. |
Agrupamento
Configuração | Valor padrão | Descrição |
---|---|---|
Runtime.FlowRunRetryableActionJobCallback.MaximumContentLengthInBytesForPartialContent |
1073741824 bytes |
Quando há suporte para o agrupamento e ele está habilitado em uma operação, define o tamanho máximo em bytes para o conteúdo baixado ou carregado. |
Runtime.FlowRunRetryableActionJobCallback.MaxChunkSizeInBytes |
52428800 bytes |
Quando há suporte para o agrupamento e ele está habilitado em uma operação, define o tamanho máximo em bytes para cada parte do conteúdo. |
Runtime.FlowRunRetryableActionJobCallback.MaximumRequestCountForPartialContent |
1000 solicitações |
Quando há suporte para o agrupamento e ele está habilitado em uma operação, define o número máximo de solicitações que uma execução de ação pode fazer para baixar o conteúdo. |
Armazenar o conteúdo em linha ou usar blobs
Configuração | Valor padrão | Descrição |
---|---|---|
Runtime.FlowRunEngine.ForeachMaximumItemsForContentInlining |
20 itens |
Quando um loop For each está em execução, o valor de cada item é armazenado em linha com outros metadados no armazenamento de tabelas ou separadamente no armazenamento de blobs. Define o número de itens a serem armazenados em linha com outros metadados. |
Runtime.FlowRunRetryableActionJobCallback.MaximumPagesForContentInlining |
20 páginas |
Define o número máximo de páginas a serem armazenadas como conteúdo em linha no armazenamento de tabelas antes de armazená-las no armazenamento de blobs. |
Runtime.FlowTriggerSplitOnJob.MaximumItemsForContentInlining |
40 itens |
Quando a configuração SplitOn retira do lote itens de matriz em várias instâncias de fluxo de trabalho, o valor de cada item é armazenado em linha com outros metadados no armazenamento de tabelas ou separadamente no armazenamento de blobs. Define o número de itens a serem armazenados em linha. |
Runtime.ScaleUnit.MaximumCharactersForContentInlining |
8192 caracteres |
Define o número máximo de caracteres de entrada e saída da operação a serem armazenados em linha no armazenamento de tabelas antes de armazená-los no armazenamento de blobs. |
Loops For each
Configuração | Valor padrão | Descrição |
---|---|---|
Runtime.Backend.FlowDefaultForeachItemsLimit |
100000 itens de matriz |
Para um fluxo de trabalho com estado, define o número máximo de itens de matriz a serem processados em um loop For each . |
Runtime.Backend.FlowDefaultSplitOnItemsLimit |
100000 itens de matriz |
Define o número máximo de itens de matriz a serem retirados do lote ou divididos em várias instâncias de fluxo de trabalho com base na configuração SplitOn . |
Runtime.Backend.ForeachDefaultDegreeOfParallelism |
20 iterações |
Define o número padrão de iterações simultâneas ou o grau de paralelismo em um loop For each . Para a execução sequencial, defina o valor como 1 . |
Runtime.Backend.Stateless.FlowDefaultForeachItemsLimit |
100 itens |
Para um fluxo de trabalho sem estado, define o número máximo de itens de matriz a serem processados em um loop For each . |
Loops Until
Configuração | Valor padrão | Descrição |
---|---|---|
Runtime.Backend.MaximumUntilLimitCount |
5000 iterações |
Para um fluxo de trabalho com estado, define o número máximo possível para a propriedade Count em uma ação Until . |
Runtime.Backend.Stateless.FlowRunTimeout |
00:05:00 (5min) |
Define o tempo máximo de espera de um loop Until em um fluxo de trabalho sem estado. |
Runtime.Backend.Stateless.MaximumUntilLimitCount |
100 iterações |
Para um fluxo de trabalho sem estado, define o número máximo possível para a propriedade Count em uma ação Until . |
Variáveis
Configuração | Valor padrão | Descrição |
---|---|---|
Runtime.Backend.DefaultAppendArrayItemsLimit |
100000 itens de matriz |
Define o número máximo de itens em uma variável com o tipo Matriz. |
Runtime.Backend.VariableOperation.MaximumStatelessVariableSize |
Fluxo de trabalho sem estado: 1024 caracteres |
Define o tamanho máximo em caracteres para o conteúdo que uma variável pode armazenar, quando usada em um fluxo de trabalho sem estado. |
Runtime.Backend.VariableOperation.MaximumVariableSize |
Fluxo de trabalho com estado: 104857600 caracteres |
Define o tamanho máximo em caracteres para o conteúdo que uma variável pode armazenar, quando usada em um fluxo de trabalho com estado. |
Operações HTTP internas
Configuração | Valor padrão | Descrição |
---|---|---|
Runtime.Backend.HttpOperation.DefaultRetryCount |
4 repetições |
Define a contagem de repetição padrão para ações e gatilhos HTTP. |
Runtime.Backend.HttpOperation.DefaultRetryInterval |
00:00:07 (7s) |
Define o intervalo de repetição padrão para ações e gatilhos HTTP. |
Runtime.Backend.HttpOperation.DefaultRetryMaximumInterval |
01:00:00 (1 hora) |
Define o intervalo máximo de repetição para ações e gatilhos HTTP. |
Runtime.Backend.HttpOperation.DefaultRetryMinimumInterval |
00:00:05 (5s) |
Define o intervalo mínimo de repetição para ações e gatilhos HTTP. |
Runtime.Backend.HttpOperation.MaxContentSize |
104857600 bytes |
Define o tamanho máximo da solicitação em bytes para somente ações HTTP, não gatilhos. Para obter mais informações, confira Limitações. |
Runtime.Backend.HttpOperation.RequestTimeout |
00:03:45 (3min e 45s) Observação: o valor padrão também é o valor máximo. |
Define o valor de tempo limite da solicitação para ações e gatilhos HTTP. |
Operações de webhook HTTP internas
Configuração | Valor padrão | Descrição |
---|---|---|
Runtime.Backend.HttpWebhookOperation.DefaultRetryCount |
4 repetições |
Define a contagem de repetição padrão para gatilhos e ações de webhook HTTP. |
Runtime.Backend.HttpWebhookOperation.DefaultRetryInterval |
00:00:07 (7s) |
Define o intervalo de repetição padrão para gatilhos e ações de webhook HTTP. |
Runtime.Backend.HttpWebhookOperation.DefaultRetryMaximumInterval |
01:00:00 (1 hora) |
Define o intervalo máximo de repetição para ações e gatilhos de webhook HTTP. |
Runtime.Backend.HttpWebhookOperation.DefaultRetryMinimumInterval |
00:00:05 (5s) |
Define o intervalo mínimo de repetição para ações e gatilhos de webhook HTTP. |
Runtime.Backend.HttpWebhookOperation.DefaultWakeUpInterval |
01:00:00 (1 hora) |
Define o intervalo de ativação padrão para trabalhos de gatilho e ação de webhook HTTP. |
Runtime.Backend.HttpWebhookOperation.MaxContentSize |
104857600 bytes |
Define o tamanho máximo da solicitação em bytes para somente ações de webhook HTTP, não gatilhos. Para obter mais informações, confira Limitações. |
Runtime.Backend.HttpWebhookOperation.RequestTimeout |
00:02:00 (2min) |
Define o valor de tempo limite da solicitação para gatilhos e ações de webhook HTTP. |
Operações de Armazenamento do Microsoft Azure internas
Armazenamento de blob
Configuração | Valor padrão | Descrição |
---|---|---|
Microsoft.Azure.Workflows.ContentStorage.RequestOptionsThreadCount |
Nenhum | Define a contagem de threads para operações de upload e download de blob. Você pode usar essa configuração para forçar o runtime dos Aplicativos Lógicos do Azure a usar vários threads ao carregar e baixar conteúdo de entradas e saídas de ação. |
Runtime.ContentStorage.RequestOptionsDeltaBackoff |
00:00:02 (2s) |
Define o intervalo de retirada entre as repetições enviadas ao armazenamento de blobs. |
Runtime.ContentStorage.RequestOptionsMaximumAttempts |
4 repetições |
Define o número máximo de repetições enviadas ao armazenamento de tabelas e filas. |
Runtime.ContentStorage.RequestOptionsMaximumExecutionTime |
00:02:00 (2min) |
Define o valor de tempo limite da operação, incluindo repetições, das solicitações de blob no runtime dos Aplicativos Lógicos do Azure. |
Runtime.ContentStorage.RequestOptionsServerTimeout |
00:00:30 (30s) |
Define o valor de tempo limite das solicitações de blob no runtime dos Aplicativos Lógicos do Azure. |
Armazenamento de tabelas e filas
Configuração | Valor padrão | Descrição |
---|---|---|
Runtime.DataStorage.RequestOptionsDeltaBackoff |
00:00:02 (2s) |
Define o intervalo de retirada entre as repetições enviadas para o armazenamento de tabelas e filas. |
Runtime.DataStorage.RequestOptionsMaximumAttempts |
4 repetições |
Define o número máximo de repetições enviadas ao armazenamento de tabelas e filas. |
Runtime.DataStorage.RequestOptionsMaximumExecutionTime |
00:00:45 (45s) |
Define o valor de tempo limite da operação, incluindo repetições, das solicitações de armazenamento de tabelas e filas no runtime dos Aplicativos Lógicos do Azure. |
Runtime.DataStorage.RequestOptionsServerTimeout |
00:00:16 (16s) |
Define o valor de tempo limite das solicitações de armazenamento de tabelas e filas no runtime dos Aplicativos Lógicos do Azure. |
Compartilhamento de arquivo
Configuração | Valor padrão | Descrição |
---|---|---|
ServiceProviders.AzureFile.MaxFileSizeInBytes |
150000000 bytes |
Define o tamanho máximo do arquivo em bytes para um compartilhamento de arquivos do Azure. |
Operações internas do Azure Functions
Configuração | Valor padrão | Descrição |
---|---|---|
Runtime.Backend.FunctionOperation.RequestTimeout |
00:03:45 (3min e 45s) |
Define o valor de tempo limite da solicitação para ações do Azure Functions. |
Runtime.Backend.FunctionOperation.MaxContentSize |
104857600 bytes |
Define o tamanho máximo da solicitação em bytes para ações do Azure Functions. Para obter mais informações, confira Limitações. |
Runtime.Backend.FunctionOperation.DefaultRetryCount |
4 repetições |
Define a contagem de repetição padrão para ações do Azure Functions. |
Runtime.Backend.FunctionOperation.DefaultRetryInterval |
00:00:07 (7s) |
Define o intervalo de repetição padrão para ações do Azure Functions. |
Runtime.Backend.FunctionOperation.DefaultRetryMaximumInterval |
01:00:00 (1 hora) |
Define o intervalo máximo de repetição para ações do Azure Functions. |
Runtime.Backend.FunctionOperation.DefaultRetryMinimumInterval |
00:00:05 (5s) |
Define o intervalo mínimo de repetição para ações do Azure Functions. |
Operações internas do Barramento de Serviço do Azure
Configuração | Valor padrão | Descrição |
---|---|---|
ServiceProviders.ServiceBus.MessageSenderOperationTimeout |
00:01:00 (1 min) |
Define o tempo limite para enviar mensagens com a operação do Barramento de Serviço integrado. |
Runtime.ServiceProviders.ServiceBus.MessageSenderPoolSizePerProcessorCount |
64 remetentes de mensagens |
Define o número de remetentes de mensagens do Barramento de Serviço do Azure por núcleo de processador a ser usado no pool de remetentes de mensagens. |
Operações internas do SFTP
Configuração | Valor padrão | Descrição |
---|---|---|
Runtime.ServiceProviders.Sftp.MaxFileSizeInBytes |
2147483648 bytes |
Define o tamanho máximo do arquivo em bytes para a ação Obter conteúdo de arquivo (V2). |
Runtime.ServiceProviders.Sftp.MaximumFileSizeToReadInBytes |
209715200 bytes |
Define o tamanho máximo do arquivo em bytes para a ação Obter conteúdo de arquivo. Verifique se esse valor não excede o tamanho da memória referenciada, pois essa ação lê o conteúdo do arquivo na memória. |
Operações do conector gerenciado
Configuração | Valor padrão | Descrição |
---|---|---|
Runtime.Backend.ApiConnectionOperation.RequestTimeout |
00:02:00 (2min) |
Define o valor de tempo limite da solicitação para gatilhos e ações do conector de API gerenciado. |
Runtime.Backend.ApiConnectionOperation.MaxContentSize |
104857600 bytes |
Define o tamanho máximo da solicitação em bytes para gatilhos e ações do conector de API gerenciado. Para obter mais informações, confira Limitações. |
Runtime.Backend.ApiConnectionOperation.DefaultRetryCount |
4 repetições |
Define a contagem de repetição padrão para gatilhos e ações do conector de API gerenciado. |
Runtime.Backend.ApiConnectionOperation.DefaultRetryInterval |
00:00:07 (7s) |
Define o intervalo de repetição padrão para gatilhos e ações do conector de API gerenciado. |
Runtime.Backend.ApiWebhookOperation.DefaultRetryMaximumInterval |
01:00:00 (1 dia) |
Define o intervalo máximo de repetição para gatilhos e ações de webhook do conector de API gerenciado. |
Runtime.Backend.ApiConnectionOperation.DefaultRetryMinimumInterval |
00:00:05 (5s) |
Define o intervalo mínimo de repetição para gatilhos e ações do conector de API gerenciado. |
Runtime.Backend.ApiWebhookOperation.DefaultWakeUpInterval |
01:00:00 (1 dia) |
Define o intervalo de ativação padrão para trabalhos de ação e gatilho de webhook do conector de API gerenciado. |
Política de repetição para todas as outras operações
Configuração | Valor padrão | Descrição |
---|---|---|
Runtime.ScaleMonitor.MaxPollingLatency |
00:00:30 (30s) |
Define a latência máxima de sondagem para o dimensionamento do runtime. |
Runtime.Backend.Operation.MaximumRetryCount |
90 repetições |
Define o número máximo de repetições na definição de política de repetição para uma operação de fluxo de trabalho. |
Runtime.Backend.Operation.MaximumRetryInterval |
01:00:00:01 (1 dia e 1 segundo) |
Define o intervalo máximo na definição de política de repetição para uma operação de fluxo de trabalho. |
Runtime.Backend.Operation.MinimumRetryInterval |
00:00:05 (5s) |
Define o intervalo mínimo na definição de política de repetição para uma operação de fluxo de trabalho. |
Limitações
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, examine o guia de referência das configurações de runtime e implantação disponíveis – host.json.
Portal do Azure – host.json
Para examinar as configurações de host do aplicativo lógico baseado em locatário único no portal do Azure, siga estas etapas:
Na caixa de pesquisa do portal do Azure, localize e abra seu aplicativo lógico.
No menu do aplicativo lógico, acesse Ferramentas de desenvolvimento e selecione Ferramentas avançadas.
Na página Ferramentas Avançadas, selecione Ir, que abrirá o ambiente do Kudu do aplicativo lógico.
Na barra de ferramentas do Kudu, abra o menu do Console de depuração e selecione CMD.
No portal do Azure, interrompa o aplicativo lógico.
No menu do aplicativo lógico, selecione Visão geral.
Na barra de ferramentas do painel Visão Geral, selecione Interromper.
No menu do aplicativo lógico, acesse Ferramentas de desenvolvimento e selecione Ferramentas avançadas.
No painel Ferramentas avançadas, selecione Ir. O ambiente Kudu será aberto no seu aplicativo lógico.
Na barra de ferramentas do Kudu, abra o menu do Console de depuração e selecione CMD.
A janela do console será aberta, de modo que você poderá procurar a pasta wwwroot usando o prompt de comando. Se preferir, procure a estrutura de diretório exibida acima da janela do console.
Navegue pelo seguinte caminho até a pasta wwwroot:
...\home\site\wwwroot
.Acima da janela do console, na tabela de diretórios, ao lado do arquivo host.json, selecione Editar.
Após a abertura do arquivo host.json, examine as configurações de host adicionadas anteriormente ao aplicativo lógico.
Para obter mais informações sobre as configurações de host, examine o guia de referência das configurações de host disponíveis – host.json.
Para adicionar uma configuração, siga estas etapas:
Antes de adicionar ou editar as configurações, interrompa o aplicativo lógico no portal do Azure.
- No menu do aplicativo lógico, selecione Visão geral.
- Na barra de ferramentas do painel Visão Geral, selecione Interromper.
Volte ao arquivo host.json. No objeto
extensionBundle
, adicione o objetoextensions
, que inclui os objetosworkflow
esettings
, por exemplo:{ "version": "2.0", "extensionBundle": { "id": "Microsoft.Azure.Functions.ExtensionBundle", "version": "[1.*, 2.0.0)" }, "extensions": { "workflow": { "settings": { } } } }
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" } } } }
Quando terminar, lembre-se de selecionar Salvar.
Agora, reinicie o aplicativo lógico. Volte à página Visão geral do aplicativo lógico e selecione Reiniciar.
Visual Studio Code – host.json
Para examinar as configurações de host do aplicativo lógico no Visual Studio Code, siga estas etapas:
No projeto do aplicativo lógico, no nível do projeto raiz, encontre e abra o arquivo host.json.
No objeto
extensions
, emworkflows
esettings
, examine as configurações de host adicionadas anteriormente ao aplicativo lógico. Caso contrário, o objetoextensions
não será exibido no arquivo.Para obter mais informações sobre as configurações de host, examine o guia de referência das configurações de host disponíveis – host.json.
Para adicionar uma configuração de host, siga estas etapas:
No arquivo host.json, abaixo do objeto
extensionBundle
, adicione o objetoextensions
, que inclui os objetosworkflow
esettings
, por exemplo:{ "version": "2.0", "extensionBundle": { "id": "Microsoft.Azure.Functions.ExtensionBundle", "version": "[1.*, 2.0.0)" }, "extensions": { "workflow": { "settings": { } } } }
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" } } } }