Habilitar o modo com estado para conectores internos sem estado nos Aplicativos Lógicos do Azure
Aplica-se a: Aplicativos Lógicos do Azure (Standard)
Nos fluxos de trabalho do aplicativo lógico Standard, os seguintes conectores internos baseados no provedor de serviços são sem estado, por padrão:
- Barramento de Serviço do Azure
- SAP
- IBM MQ
Para executar essas operações de conector no modo com estado, você precisa habilitar essa funcionalidade. Este guia de instruções mostra como habilitar o modo com estado para esses conectores.
Pré-requisitos
Uma conta e uma assinatura do Azure. Se você não tem uma assinatura, inscreva-se em uma conta gratuita do Azure.
O recurso de aplicativo lógico Standard em que você planeja criar o fluxo de trabalho que usa as operações de conector habilitadas para modo com estado. Se você não tiver esse recurso, crie o recurso de aplicativo lógico Standard agora.
Uma rede virtual do Azure com uma sub-rede para integrar ao seu aplicativo lógico. Se você não tem um fluxo de trabalho, consulte a seguinte documentação:
Habilitar o modo com estado no portal do Azure
Observação
Se você usar grupos de segurança de rede em sua rede virtual, o modo com estado exigirá que você abra as portas de 20.000 a 30.000.
No portal do Azure, abra o recurso de aplicativo lógico Standard em que você deseja habilitar o modo com estado para essas operações de conector.
Para habilitar a integração de rede virtual para seu aplicativo lógico e adicionar seu aplicativo lógico à sub-rede criada anteriormente, siga estas etapas:
No menu de recursos do aplicativo lógico, em Configurações, selecione Rede.
Na seção Configuração de tráfego de saída, ao lado de Integração de rede virtual, selecione Não configurado>Adicionar integração de rede virtual.
No painel Adicionar integração de rede virtual que é aberto, selecione sua assinatura do Azure e sua rede virtual.
Na lista Sub-rede, selecione a sub-rede na qual você deseja adicionar seu aplicativo lógico.
Quando terminar, selecione Conectar e retorne à página Rede.
A propriedade de Integração de rede virtual agora está definida como a rede virtual e a sub-rede selecionadas, por exemplo:
Para obter informações gerais sobre como habilitar a integração de rede virtual com seu aplicativo, confira Habilitar a integração de rede virtual no Serviço de Aplicativo do Azure.
Em seguida, atualize a configuração de site subjacente do aplicativo lógico (<nome-de-aplicativo-lógico>.azurewebsites.net) usando uma das seguintes ferramentas:
Atualizar a configuração do site para o aplicativo lógico
Depois de habilitar a integração de rede virtual para seu aplicativo lógico, você precisa atualizar a configuração de site subjacente do aplicativo lógico (<nome-de-aplicativo-lógico>.azurewebsites.net) usando um dos seguintes métodos:
- Portal do Azure (token de portador não necessário)
- API de Gerenciamento de Recursos do Azure (token de portador necessário)
- Azure PowerShell (token de portador não necessário)
Portal do Azure
Para configurar portas privadas de rede virtual usando o portal do Azure, siga estas etapas:
- No portal do Azure, localize e abra o recurso de aplicativo lógico Standard.
- No menu do aplicativo lógico, acesse Configurações e selecione Configuração.
- Na página Configuração, selecione a guia Configurações gerais.
- Em Configurações da Plataforma, na caixa Portas Privadas da VNet, insira as portas que você deseja usar.
API de Gerenciamento de Recursos do Azure
Para concluir essa tarefa com a API de Gerenciamento de Recursos do Azure – Atualizar por Id, examine os seguintes requisitos, sintaxe e valores de parâmetro.
Requisitos
A autorização OAuth e o token de portador são necessários. Para obter o token de portador, siga estas etapas
Enquanto estiver conectado ao portal do Azure, abra as ferramentas de desenvolvedor do navegador da Web (F12).
Obtenha o token enviando qualquer solicitação de gerenciamento, por exemplo, salvando um fluxo de trabalho em seu aplicativo lógico Standard.
Sintaxe
Atualiza um recurso usando a ID de recurso especificada:
PATCH https://management.azure.com/{resourceId}?api-version=2021-04-01
Valores de parâmetro
Elemento | Valor |
---|---|
Método de solicitação HTTP | PATCH |
<resourceId> | subscriptions/{IDdaSuaAssinatura}/resourcegroups/{seuGrupoDeRecurso}/providers/Microsoft.Web/sites/{nomeDoWebsite}/config/web |
<yourSubscriptionId> | A ID da assinatura do Azure |
<yourResourceGroup> | O grupo de recursos que contém o recurso de aplicativo lógico |
<websiteName> | O nome do recurso de aplicativo lógico, que é mystandardlogicapp neste exemplo |
Corpo da solicitação HTTP | {"properties": {"vnetPrivatePortsCount": "2"}} |
Exemplo
https://management.azure.com/subscriptions/XXxXxxXX-xXXx-XxxX-xXXX-XXXXxXxXxxXX/resourcegroups/My-Standard-RG/providers/Microsoft.Web/sites/mystandardlogicapp/config/web?api-version=2021-02-01
PowerShell do Azure
Para concluir essa tarefa com o Azure PowerShell, examine os requisitos, sintaxe e valores a seguir. Esse método não exige que você obtenha manualmente o token de portador.
Sintaxe
Set-AzContext -Subscription {yourSubscriptionID}
$webConfig = Get-AzResource -ResourceId {resourceId}
$webConfig.Properties.vnetPrivatePortsCount = 2
$webConfig | Set-AzResource -ResourceId {resourceId}
Para saber mais, confira a seguinte documentação:
Valores de parâmetro
Elemento | Valor |
---|---|
<IDdaSuaAssinatura> | A ID da assinatura do Azure |
<resourceId> | subscriptions/{IDdaSuaAssinatura}/resourcegroups/{seuGrupoDeRecurso}/providers/Microsoft.Web/sites/{nomeDoWebsite}/config/web |
<yourResourceGroup> | O grupo de recursos que contém o recurso de aplicativo lógico |
<websiteName> | O nome do recurso de aplicativo lógico, que é mystandardlogicapp neste exemplo |
Exemplo
https://management.azure.com/subscriptions/XXxXxxXX-xXXx-XxxX-xXXX-XXXXxXxXxxXX/resourcegroups/My-Standard-RG/providers/Microsoft.Web/sites/mystandardlogicapp/config/web?api-version=2021-02-01
Solucionar problemas de erros
Erro: a contagem de instâncias reservadas é inválida
Se você receber um erro que diz que a contagem de instâncias reservadas é inválida, use a seguinte solução alternativa:
$webConfig.Properties.preWarmedInstanceCount = $webConfig.Properties.reservedInstanceCount
$webConfig.Properties.reservedInstanceCount = $null
$webConfig | Set-AzResource -ResourceId {resourceId}
Exemplo de erro:
Set-AzResource :
{
"Code":"BadRequest",
"Message":"siteConfig.ReservedInstanceCount is invalid. Please use the new property siteConfig.PreWarmedInstanceCount.",
"Target": null,
"Details":
[
{
"Message":"siteConfig.ReservedInstanceCount is invalid. Please use the new property siteConfig.PreWarmedInstanceCount."
},
{
"Code":"BadRequest"
},
{
"ErrorEntity":
{
"ExtendedCode":"51021",
"MessageTemplate":"{0} is invalid. {1}",
"Parameters":
[
"siteConfig.ReservedInstanceCount", "Please use the new property siteConfig.PreWarmedInstanceCount."
],
"Code":"BadRequest",
"Message":"siteConfig.ReservedInstanceCount is invalid. Please use the new property siteConfig.PreWarmedInstanceCount."
}
}
],
"Innererror": null
}
Evitar perda de contexto durante eventos de redução horizontal de recursos
Eventos de redução horizontal de recursos podem causar a perda de contexto para conectores internos com o modo com estado habilitado. Para evitar essa possível perda antes que esses eventos possam acontecer, corrija o número de instâncias disponíveis para o recurso de aplicativo lógico. Dessa forma, nenhum evento de escala pode causar essa possível perda de contexto.
No menu do recurso do aplicativo lógico, em Configurações, selecione Escalar horizontalmente.
Na página Escalar horizontalmente, na seção Expansão de Aplicativos, siga estas etapas:
Defina Impor Limite de Expansão Horizontal como Sim, que mostra o Limite Máximo de Expansão Horizontal.
Defina Instâncias Sempre Prontas para o mesmo número que o Limite Máximo de Expansão Horizontal e a Intermitência Máxima, que aparece na seção Planejar Expansão horizontal, por exemplo:
Quando terminar, na barra de ferramentas Escalar horizontalmente, selecione Salvar.