Habilitación del modo con estado para conectores integrados sin estado en Azure Logic Apps
Se aplica a: Azure Logic Apps (estándar)
En los flujos de trabajo de aplicación lógica estándar, los siguientes conectores integrados basados en el proveedor de servicios no tienen estado, de forma predeterminada:
- Azure Service Bus
- SAP
- IBM MQ
Para ejecutar estas operaciones del conector en modo con estado, debe habilitar esta funcionalidad. En esta guía paso a paso se muestra cómo habilitar el modo con estado para estos conectores.
Requisitos previos
Una cuenta y una suscripción de Azure. Si aún no tiene una, regístrese para obtener una cuenta de Azure gratuita.
Recurso de aplicación lógica estándar en el que planea crear el flujo de trabajo que usa las operaciones del conector en modo con estado habilitado. Si no tiene este recurso, cree el recurso de aplicación lógica estándar ahora.
Una red virtual de Azure con una subred para integrarse con la aplicación lógica. Si no tiene estos elementos, revise esta documentación:
Habilitación del modo con estado en Azure Portal
Nota:
Si usa grupos de seguridad de red en la red virtual, el modo con estado requiere que abra los puertos 20 000 a 30 000.
En el Azure Portal, abra el recurso aplicación lógica estándar donde desea habilitar el modo con estado para estas operaciones del conector.
Para habilitar la integración de red virtual para la aplicación lógica y agregar la aplicación lógica a la subred creada anteriormente, siga estos pasos:
En el menú del recurso de aplicación lógica, en Configuración, seleccione Redes.
En la sección Configuración del tráfico saliente, junto a Integración de red virtual, seleccione No configurado>Agregar integración de red virtual.
En el panel Agregar integración de red virtual que se abre, seleccione la suscripción de Azure y la red virtual.
En la lista Subred, seleccione la subred en la que desea agregar la aplicación lógica.
Cuando haya terminado, seleccione Conectar y vuelva a la página Redes.
La propiedad de integración de red virtual ahora está establecida en la red virtual y subred seleccionada, por ejemplo:
Para obtener información general sobre cómo habilitar la integración de red virtual con la aplicación, consulte Habilitación de la integración de red virtual en Azure App Service.
A continuación, actualice la configuración del sitio web subyacente de la aplicación lógica (<logic-app-name>.azurewebsites.net) mediante cualquiera de las siguientes herramientas:
Actualizar configuración del sitio web para la aplicación lógica
Después de habilitar la integración de red virtual para la aplicación lógica, debe actualizar la configuración del sitio web subyacente de la aplicación lógica (<nombre de aplicación lógica>.azurewebsites.net) mediante uno de los métodos siguientes:
- Azure Portal (no se requiere el token de portador)
- API de Azure Resource Management (se requiere el token de portador)
- Azure PowerShell (no se requiere token de portador)
Azure portal
Para configurar puertos privados de red virtual mediante Azure Portal, siga estos pasos:
- En Azure Portal, busque y abra el recurso aplicación lógica estándar.
- En el menú de la aplicación lógica, en Configuración, seleccione Configuración.
- En la página Configuración, seleccione Configuración general.
- En Configuración de plataforma, en el cuadro puertos privados de red virtual, escriba los puertos que quiere usar.
API de Administración de recursos de Azure
Para completar esta tarea con API de Administración de recursos de Azure: actualizar por identificador, revise los siguientes requisitos, sintaxis y valores de parámetro.
Requisitos
Se requiere autorización de OAuth y el token de portador. Para obtener un token de portador, siga estos pasos
Mientras ha iniciado sesión en Azure Portal, abra las herramientas de desarrollo del explorador web (F12).
Obtenga el token mediante el envío de cualquier solicitud de administración, por ejemplo, guardando un flujo de trabajo en la aplicación lógica estándar.
Sintaxis
Actualiza un recurso mediante el identificador de recurso especificado:
PATCH https://management.azure.com/{resourceId}?api-version=2021-04-01
Valores de parámetros
Elemento | Valor |
---|---|
Método de solicitud HTTP | PATCH |
<resourceId> | subscriptions/{yourSubscriptionID}/resourcegroups/{yourResourceGroup}/providers/Microsoft.Web/sites/{websiteName}/config/web |
<yourSubscriptionId> | El identificador de la suscripción de Azure |
<yourResourceGroup> | El grupo de recursos que contiene el recurso de la aplicación lógica |
<websiteName> | El nombre del recurso de aplicación lógica, que es mystandardlogicapp en este ejemplo. |
El cuerpo de la solicitud HTTP | {"properties": {"vnetPrivatePortsCount": "2"}} |
Ejemplo
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 completar esta tarea con Azure PowerShell, revise los siguientes requisitos, sintaxis y valores. Este método no requiere que obtenga manualmente el token de portador.
Sintaxis
Set-AzContext -Subscription {yourSubscriptionID}
$webConfig = Get-AzResource -ResourceId {resourceId}
$webConfig.Properties.vnetPrivatePortsCount = 2
$webConfig | Set-AzResource -ResourceId {resourceId}
Para más información, consulte la siguiente documentación:
Valores de parámetros
Elemento | Valor |
---|---|
<yourSubscriptionID> | El identificador de la suscripción de Azure |
<resourceId> | subscriptions/{yourSubscriptionID}/resourcegroups/{yourResourceGroup}/providers/Microsoft.Web/sites/{websiteName}/config/web |
<yourResourceGroup> | El grupo de recursos que contiene el recurso de la aplicación lógica |
<websiteName> | El nombre del recurso de aplicación lógica, que es mystandardlogicapp en este ejemplo. |
Ejemplo
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
Solución de errores
Error: el recuento de instancias reservadas no es válido
Si recibe un error que indica el recuento de instancias reservadas no es válido, use la siguiente solución alternativa:
$webConfig.Properties.preWarmedInstanceCount = $webConfig.Properties.reservedInstanceCount
$webConfig.Properties.reservedInstanceCount = $null
$webConfig | Set-AzResource -ResourceId {resourceId}
Ejemplo de error:
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 la pérdida de contexto durante los eventos de escalado de recursos
Los eventos de escalado de recursos pueden provocar la pérdida de contexto para los conectores integrados con el modo con estado habilitado. Para evitar esta posible pérdida antes de que se puedan producir estos eventos, corrija el número de instancias disponibles para el recurso de aplicación lógica. De este modo, no se puede producir ningún evento de escalado para provocar esta posible pérdida de contexto.
En el menú de su recurso de aplicación lógica, en Configuración, seleccione Escalabilidad horizontal.
En la página Escalado horizontal, en la sección Escalado horizontal de aplicaciones, siga estos pasos:
Establezca Aplicar límite de escalabilidad horizontal en Sí, que muestra el límite máximo de escalado horizontal.
Establezca Instancias siempre preparadas con el mismo número que Límite máximo de escalado horizontal y Ráfaga máxima, que aparece en la sección Escalado horizontal del plan, por ejemplo:
Después, en la barra de herramientas Escalar horizontalmente, seleccione Guardar.