Habilite o modo stateful para conectores internos sem monitoração de estado nos Aplicativos Lógicos do Azure
Aplica-se a: Aplicativos Lógicos do Azure (Padrão)
Nos fluxos de trabalho de aplicativos lógicos padrão, os seguintes conectores internos baseados em provedor de serviços são sem monitoração de estado, por padrão:
- Azure Service Bus
- SAP
- IBM MQ
Para executar essas operações de conector no modo com monitoração de estado, você deve habilitar esse recurso. Este guia de instruções mostra como habilitar o modo stateful para esses conectores.
Pré-requisitos
Uma conta e subscrição do Azure. Se não tiver uma subscrição, inscreva-se numa conta do Azure gratuita.
O recurso de aplicativo lógico padrão onde você planeja criar o fluxo de trabalho que usa as operações de conector habilitadas para modo com monitoração de estado. Se você não tiver esse recurso, crie seu recurso de aplicativo lógico padrão agora.
Uma rede virtual do Azure com uma sub-rede para integrar com seu aplicativo lógico. Se você não tiver esses itens, consulte a seguinte documentação:
Habilitar o modo stateful no portal do Azure
Nota
Se você usar grupos de segurança de rede em sua rede virtual, o modo com monitoração de estado exigirá que você abra as portas 20.000 a 30.000.
No portal do Azure, abra o recurso de aplicativo lógico padrão onde você deseja habilitar o modo com monitoração de 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 recurso de menu 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 à qual 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, consulte Habilitar integração de rede virtual no Serviço de Aplicativo do Azure.
Em seguida, atualize a configuração subjacente do site do aplicativo lógico (<logic-app-name.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ê deve atualizar a configuração de site subjacente do aplicativo lógico (<logic-app-name.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 seu recurso de aplicativo lógico padrão.
- No menu do aplicativo lógico, em Configurações, selecione Configuração.
- Na página Configuração, selecione Configurações gerais.
- Em Configurações da plataforma, na caixa Portas privadas de rede virtual, insira as portas que você deseja usar.
API de Gerenciamento de Recursos do Azure
Para concluir esta tarefa com a API de Gerenciamento de Recursos do Azure - Atualização por Id, examine os seguintes requisitos, sintaxe e valores de parâmetro.
Requisitos
É necessária autorização OAuth e o token ao portador. Para obter o token ao 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 padrão.
Sintaxe
Atualiza um recurso usando a ID de recurso especificada:
PATCH https://management.azure.com/{resourceId}?api-version=2021-04-01
Valores dos parâmetros
Elemento | Value |
---|---|
Método de pedido HTTP | REMENDO |
<resourceId> | assinaturas/{yourSubscriptionID}/resourcegroups/{yourResourceGroup}/providers/Microsoft.Web/sites/{websiteName}/config/web |
<yourSubscriptionId> | A ID da sua subscrição do Azure |
<yourResourceGroup> | O grupo de recursos que contém o recurso do aplicativo lógico |
<Nome do site> | O nome do recurso do aplicativo lógico, que é mystandardlogicapp neste exemplo |
Corpo da solicitação HTTP | {"propriedades": {"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
Azure PowerShell
Para concluir essa tarefa com o Azure PowerShell, revise os seguintes requisitos, sintaxe e valores. Este método não requer 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 obter mais informações, veja a seguinte documentação:
Valores dos parâmetros
Elemento | Value |
---|---|
<seuSubscriptionID> | A ID da sua subscrição do Azure |
<resourceId> | assinaturas/{yourSubscriptionID}/resourcegroups/{yourResourceGroup}/providers/Microsoft.Web/sites/{websiteName}/config/web |
<yourResourceGroup> | O grupo de recursos que contém o recurso do aplicativo lógico |
<Nome do site> | O nome do recurso do 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
Resolver erros
Erro: A contagem de instâncias reservadas é inválida
Se você receber um erro dizendo 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 dimensionamento de recursos
Os eventos de dimensionamento de recursos podem causar a perda de contexto para conectores internos com o modo stateful habilitado. Para evitar essa perda potencial antes que tais eventos possam acontecer, corrija o número de instâncias disponíveis para seu recurso de aplicativo lógico. Dessa forma, nenhum evento de escala pode acontecer para causar essa perda de contexto potencial.
No menu de recursos do aplicativo lógico, em Configurações, selecione Dimensionamento.
Na página Dimensionamento, na seção Dimensionamento do aplicativo, siga estas etapas:
Defina Impor limite de expansão como Sim, que mostra o limite máximo de expansão.
Defina Instâncias Sempre Prontas para o mesmo número que Limite Máximo de Expansão e Burst Máximo, que aparece na seção Planejar Dimensionamento , por exemplo:
Quando terminar, na barra de ferramentas Dimensionar, selecione Salvar.