Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Aplica-se a: Aplicativos Lógicos do Azure (Padrão)
Este guia explica como gerenciar configurações de tempo de execução e ambiente para aplicativos lógicos padrão em 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.
As configurações são pares chave-valor que definem o nome e o valor da configuração.
Configurações, parâmetros e implantação do aplicativo
Nos Aplicativos Lógicos do Azure multitenant, a sua 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, não precisas de reimplementar 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 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.
Note
Se você usa o Cofre da Chave do Azure, certifique-se de armazenar 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 fazer chamadas. O designer não pode desreferenciar uma configuração de aplicativo que faz referência a um recurso do Cofre de Chaves do Azure, o que resulta em um erro e a chamada 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:
- Criar parâmetros entre ambientes para entradas de fluxo de trabalho nos Aplicativos Lógicos do Azure
- Visão geral da implantação de DevOps para aplicativos lógicos baseados em locatário único
- Configurar a implantação de DevOps para aplicativos lógicos baseados em locatário único
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 no pacote NuGet (.NET), que pode ser convertido a partir do 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 .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 mais informações sobre como converter o seu projeto para usar o NuGet, consulte Ativar a autoria de conectores integrados.
O projeto baseado em pacote de extensão padrão tem uma estrutura de pasta e arquivo semelhante ao exemplo a seguir:
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 seu projeto, você pode encontrar as seguintes pastas e arquivos, juntamente com outros itens:
| Name | Pasta ou ficheiro | Description |
|---|---|---|
| .vscode | Folder | Contém arquivos de configurações relacionados ao Visual Studio Code, como 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 oferecem suporte a cenários B2B (business-to-business). 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 mecanismos baseados em regras. |
| lib | Folder | Contém assemblies suportados que a sua aplicação lógica pode usar ou referenciar. Você pode carregar esses assemblies para seu projeto no Visual Studio Code, mas você deve adicioná-los a pastas específicas em seu projeto. Por exemplo, esta pasta inclui as seguintes pastas: - builtinOperationSdks: Contém as pastas JAR e net472 para assemblies Java e .NET Framework, respectivamente. - custom: contém assemblies personalizados do .NET Framework. Para obter mais informações sobre os tipos de assembly suportados e onde colocá-los em seu projeto, consulte Adicionar assemblies ao seu projeto. |
| < Nome do fluxo de trabalho> | Folder | Para cada fluxo de trabalho, a < inclui um >, que contém a definição JSON subjacente desse fluxo de trabalho. |
| workflow-designtime | Folder | Contém arquivos de configurações relacionadas ao ambiente de desenvolvimento. |
| .funcignore | File | Contém informações relacionadas às Ferramentas Principais do Azure Functions instaladas. |
| connections.json | File | Contém os metadados, pontos de extremidade e chaves para quaisquer conexões geridas e funções do Azure que os 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 | File | Contém configurações e valores específicos do ambiente de execução, por exemplo, os limites padrão para a plataforma Azure Logic Apps monotenant, aplicações lógicas, fluxos de trabalho, ações e gatilhos. 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. Para obter informações de referência, consulte Editar configurações do aplicativo e configurações do host. 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 | File | 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. 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 suas ferramentas de desenvolvimento local usam para 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. Esse arquivo também contém as configurações do aplicativo que seu aplicativo lógico precisa para funcionar corretamente. Para obter informações de referência, consulte Editar configurações do aplicativo e configurações do host. |
Referência para configurações do aplicativo - local.settings.json
No Visual Studio Code, no nível raiz do seu 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 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 saber como 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.
A tabela a seguir descreve as configurações do 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 padrão. O valor deve ser definido como workflowApp. Observação: em alguns cenários, essa configuração de aplicativo pode estar ausente, por exemplo, devido à automação usando modelos do Azure Resource Manager ou outros cenários em que a configuração não está incluída. Se determinadas ações não funcionarem, como a ação Executar código JavaScript , ou se o fluxo de trabalho parar de funcionar, verifique se a configuração APP_KIND aplicativo existe e está definida como workflowApp. |
AZURE_AUTHORITY_HOST |
No | None | Define a autoridade padrão do aplicativo lógico padrão 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 tempo de execução do operador de linguagem para o recurso e fluxos de trabalho do aplicativo lógico. Nota: O valor desta configuração foi definido anteriormente como node, mas agora o valor necessário é dotnet para todos os aplicativos lógicos Standard implantados novos e existentes. Essa alteração não deve afetar o tempo de execução do fluxo de trabalho, portanto, tudo deve funcionar da mesma maneira que antes. Para obter mais informações, consulte FUNCTIONS_WORKER_RUNTIME. |
ServiceProviders.Sftp.FileUploadBufferTimeForTrigger |
No | 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 |
No | 00:02:00 (2 minutos) |
Define o tempo de espera antes de atingir o tempo limite em qualquer operação. |
ServiceProviders.Sftp.ServerAliveInterval |
No | 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 acontecer 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 da configuração. |
ServiceProviders.MaximumAllowedTriggerStateSizeInKB |
No |
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 |
No | 00:02:00 (2 minutos) |
Define o valor de tempo limite de solicitação para operações do provedor de serviços SQL. |
WEBSITE_CONTENTSHARE |
Yes | Dynamic | Necessário para definir o nome da partilha de ficheiros que o Azure Functions utiliza para armazenar o código da aplicação de função e os ficheiros de configuração, sendo utilizado com WEBSITE_CONTENTAZUREFILECONNECTIONSTRING. O padrão é uma cadeia de caracteres exclusiva gerada pelo tempo de execução. Para obter mais informações, consulte WEBSITE_CONTENTSHARE. |
WEBSITE_LOAD_ROOT_CERTIFICATES |
No | None | Define as impressões digitais para que os certificados raiz sejam confiáveis. |
WEBSITE_NODE_DEFAULT_VERSION |
Yes | ~ < Versão> | Define a versão Node.js ao executar os fluxos de trabalho do aplicativo lógico no Windows. Use uma tilde (~) para que o runtime dos Aplicativos Lógicos do Azure utilize a versão mais recente disponível da versão principal alvo. Por exemplo, se definido como ~18, a versão mais recente do Node.js 18 é usada. Quando se usa uma tilde com uma versão principal, não é necessário atualizar manualmente a versão menor. 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 pelo Azure). |
Workflows.CustomHostName |
No | None | 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 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 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. - Mínimo: 7 dias - Máximo: 365 dias |
Workflows.WebhookRedirectHostUri |
No | None | Define o nome do anfitrião a ser utilizado para os URLs de retorno de chamada do 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 ou CLI do Azure. Para configurações de aplicativos específicas para aplicativos lógicos, consulte Referência para configurações de aplicativos - local.settings.json.
Ver definições da aplicação no portal
Na caixa de pesquisa do portal do Azure , localize e abra seu aplicativo lógico.
No menu da barra lateral, em Configurações, selecione Variáveis de ambiente.
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 Referência para configurações de aplicativo - local.settings.json.
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
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 metadadoshost.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 saber como visualizar e gerenciar essas configurações, consulte Gerenciar configurações de host - 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 .
Desempenho de orquestração de tarefas
Essas configurações afetam o desempenho e a capacidade dos Azure Logic Apps de instância única para executar operações de fluxo de trabalho.
| Setting | Valor predefinido | Description |
|---|---|---|
Jobs.BackgroundJobs.DispatchingWorkersPulseInterval |
00:00:01 (1 seg.) |
Defina o intervalo para que os despachantes de trabalho verifiquem a fila de trabalhos quando a pesquisa anterior não retornar nenhum trabalho. Os despachadores 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 quanto o throughput de execução é influenciado pelos limites de armazenamento das partições. |
Jobs.BackgroundJobs.NumPartitionsInJobTriggersQueue |
1 fila de trabalhos |
Define o número de filas de trabalhos monitoradas pelos despachantes de trabalhos para que os trabalhos sejam processados. Esse valor também afeta o número de partições de armazenamento onde existem filas de trabalho. |
Jobs.BackgroundJobs.NumWorkersPerProcessorCount |
192 instâncias de trabalhador de despacho |
Define o número de instâncias de trabalhadores do dispatcher ou de dispatchers de trabalho 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 |
Defina o número de instâncias de trabalho do dispatcher ou de dispatchers de trabalho por núcleo do 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 padrão.
Note
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.
| Setting | Valor predefinido | Description |
|---|---|---|
Jobs.CleanupJobPartition |
None | Exclui imediatamente todos os trabalhos de execução para os fluxos de trabalho especificados. |
Jobs.SuspendedJobPartition |
None | Interrompe as tarefas de execução para os 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 seguinte sintaxe, em que cada ID de fluxo de trabalho é seguido por dois pontos (:) e é separado 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 o ID de execução seguindo o 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 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 do gatilho mantém os dados persistentes em vários gatilhos de diferentes provedores de serviços, baseados em recorrência. Importante: Com base no tamanho do armazenamento, evite definir esse valor muito alto, o que pode afetar negativamente o armazenamento e o desempenho. |
Simultaneidade de gatilho
As configurações de concorrência a seguir se aplicam somente a fluxos de trabalho que começam com um gatilho baseado em recorrência para conectores internos baseados em provedor de serviços e controlam o número de fluxos de trabalho executados ao mesmo tempo.
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.
| Setting | Valor predefinido | 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 aparece na definição de concorrência do gatilho. |
Runtime.Trigger.MaximumWaitingRuns |
200 execuções |
Estabelece o número máximo de execuções que podem aguardar após as execuções simultâneas atingirem o máximo. Esse valor aparece na definição de concorrência 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
| Setting | 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
| Setting | Valor predefinido | Description |
|---|---|---|
Runtime.FlowRunRetryableActionJobCallback.ActionJobExecutionTimeout |
00:10:00 (10 minutos) |
Define-se a duração de uma tarefa de ação de fluxo de trabalho para ser executada antes de atingir o tempo limite e ser reiniciada automaticamente. 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) |
Defina a duração para a execução antes de se atingir o tempo limite para chamadas do Azure Functions e algumas operações integradas, como o SAP, que operam como chamadas de função. Os aplicativos lógicos padrão usam o mesmo design subjacente que os aplicativos de função. Portanto, a configuração de host functionTimeout no Azure Functions também afeta as operações internas que são processadas como chamadas de função. Para obter mais informações, consulte functionTimeout. Nota: No arquivo host.json , a functionTimeout configuração existe no mesmo nível do extensions objeto onde as configurações de host existem para um aplicativo lógico padrão. Para obter mais informações, consulte o exemplo nesta seção: Alterar o valor de tempo limite para operações internas baseadas em função. |
Alterar o valor de tempo limite para operações internas baseadas em função
Para operações internas que são executadas como chamadas de função no Azure Functions, adicione as configurações Runtime.FlowRunRetryableActionJobCallback.ActionJobExecutionTimeout e functionTimeout ao seu 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 predefinido | Description |
|---|---|---|
Microsoft.Azure.Workflows.TemplateLimits.InputParametersLimit |
50 |
Altera o limite padrão de parâmetros de fluxo de trabalho entre ambientes para até 500 em aplicativos lógicos padrão criados a partir da exportação de 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. |
Pagination
| Setting | 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. |
Chunking
| Setting | 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
| Setting | 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 limite máximo de páginas a serem armazenadas como conteúdo inline no armazenamento de tabelas antes de armazená-las no armazenamento em blob. |
Runtime.FlowTriggerSplitOnJob.MaximumItemsForContentInlining |
40 itens |
Quando um gatilho que suporta a divisão em lotes tem a configuração 'Dividir em' ativada, o gatilho divide os itens de matriz em várias instâncias de fluxo de trabalho. O valor de cada item de matriz é armazenado em linha com outros metadados no armazenamento de tabela ou separadamente no armazenamento de blobs. Define o número de itens a serem armazenados em linha. |
Runtime.ScaleUnit.MaximumCharactersForContentInlining |
32384 Personagens |
Configura o número máximo de caracteres de entrada e saída da operação para serem armazenados diretamente no armazenamento de tabelas antes de serem armazenados nos Blobs. |
Para cada loop
| Setting | 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 propriedade. |
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
| Setting | Valor predefinido | Description |
|---|---|---|
Runtime.Backend.MaximumUntilLimitCount |
5000 iterações |
Para um fluxo de trabalho stateful, define o número máximo concebível para a propriedade Count numa ação Until. |
Runtime.Backend.Stateless.FlowRunTimeout |
00:05:00 (5 minutos) |
Define o tempo máximo de espera para um Until loop num 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 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 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 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
| Setting | 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
| Setting | 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 os 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 integradas do Armazenamento do Azure
Armazenamento de Blobs
| Setting | Valor predefinido | Description |
|---|---|---|
Microsoft.Azure.Workflows.ContentStorage.RequestOptionsThreadCount |
None | Define o número de threads para as 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 espera 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
| Setting | 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.) |
Estabelece o valor de tempo limite da operação, incluindo tentativas, para pedidos de armazenamento de tabela e fila no runtime 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
| Setting | 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 incorporadas do Azure Functions
| Setting | 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 integradas do Barramento de Serviço do Azure
| Setting | 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, que serão utilizados no pool de remetentes de mensagens. |
Operações SFTP integradas
| Setting | 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
| Setting | 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 |
Definir o tamanho máximo da solicitação em bytes para os acionadores e as ações dos conectores de API geridos. 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.) |
Estabelece o intervalo mínimo de nova tentativa 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 trabalhos de acionamento e ação de webhook do conector API gerenciado. |
Política de tentativa de repetição para todas as outras operações
| Setting | Valor predefinido | Description |
|---|---|---|
Runtime.ScaleMonitor.MaxPollingLatency |
00:00:30 (30 seg.) |
Define a latência máxima de sondagem para ajuste em 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. |
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 Limites e referência de configuração - Mensagens. Para lidar com arquivos maiores que o limite, tente carregar seu conteúdo como um blob no 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 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, consulte Referência para configurações de host - 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:
Na caixa de pesquisa do portal do Azure , localize e abra seu aplicativo lógico.
No menu de recursos, em Ferramentas de Desenvolvimento, selecione Ferramentas Avançadas.
No painel Ferramentas Avançadas, selecione Ir, que abre o ambiente Kudu para seu aplicativo lógico.
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.
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.
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 configurações de host, consulte Referência para configurações de host - host.json.
Para adicionar uma configuração, siga estas etapas:
Antes de adicionar ou editar configurações, pare seu aplicativo lógico no portal do Azure.
No menu de recursos, selecione Visão geral.
Na barra de ferramentas do painel Visão geral , selecione Parar.
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 .
Sob o
extensionBundleobjeto, adicione oextensionsobjeto, que inclui osworkflowobjetos eSettings, por exemplo:{ "version": "2.0", "extensionBundle": { "id": "Microsoft.Azure.Functions.ExtensionBundle", "version": "[1.*, 2.0.0)" }, "extensions": { "workflow": { "Settings": { } } } }SettingsNo 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" } } } }Quando terminar, lembre-se de selecionar Salvar.
Agora, reinicie seu aplicativo lógico. Retorne à página Visão geral do aplicativo lógico e selecione Reiniciar.