为 Azure 逻辑应用中的无状态内置连接器启用有状态模式

适用于:Azure 逻辑应用(标准)

在标准逻辑应用工作流中,以下基于服务提供商的内置连接器默认是无状态的:

  • Azure 服务总线
  • SAP
  • IBM MQ

若要在有状态模式下运行这些连接器操作,必须启用此功能。 本操作指南介绍如何为这些连接器启用有状态模式。

先决条件

在 Azure 门户中启用有状态模式

  1. Azure 门户中,打开要在其中为这些连接器操作启用有状态模式的标准逻辑应用资源。

  2. 为逻辑应用启用虚拟网络集成,并将逻辑应用添加到之前创建的子网:

    1. 在逻辑应用菜单资源中的“设置”下,选择“网络”。

    2. 在“出站流量”部分,选择“VNET 集成”>“添加 VNet”。

    3. 在打开的“添加 VNet 集成”窗格中,选择你的 Azure 订阅和虚拟网络。

    4. 在“子网”下,选择“选择现有项”。 从“子网”列表中,选择要在其中添加逻辑应用的子网。

    5. 完成后,请选择“确定”。

      在“网络”页上,“VNet 集成”选项现在显示设置为“打开”,例如:

      屏幕截图显示了 Azure 门户、标准逻辑应用资源、“网络”页,其中的“VNet 集成”设置为“打开”。

    有关启用虚拟网络与应用集成的一般信息,请参阅在 Azure 应用服务中启用虚拟网络集成

  3. 接下来,使用以下任一工具更新逻辑应用的基础网站配置 (<logic-app-name>.chinacloudsites.cn):

更新逻辑应用的网站配置

为逻辑应用启用虚拟网络集成后,必须使用以下方法之一更新逻辑应用的基础网站配置 (<logic-app-name>.chinacloudsites.cn):

Azure 门户

若要使用 Azure 门户配置虚拟网络专用端口,请执行以下步骤:

  1. Azure 门户中,找到并打开标准逻辑应用资源。
  2. 在逻辑应用菜单上的“设置”下,选择“配置” 。
  3. 在“配置”页上,选择“常规设置”
  4. 在“平台设置”下的“VNet 专用端口”框中,输入要使用的端口

Azure 资源管理 API

若要使用 Azure 资源管理 API - 按 ID 更新完成此任务,请查看以下要求、语法和参数值。

要求

需要 OAuth 授权和持有者令牌。 若要获取持有者令牌,请执行以下步骤

  1. 登录到 Azure 门户后,打开 Web 浏览器的开发人员工具 (F12)。

  2. 通过发送任何管理请求来获取令牌,例如,通过在标准逻辑应用中保存工作流。

语法

使用指定的资源 ID 更新资源:

PATCH https://management.chinacloudapi.cn/{resourceId}?api-version=2021-04-01

参数值

元素 说明
HTTP 请求方法 PATCH
<resourceId> subscriptions/{yourSubscriptionID}/resourcegroups/{yourResourceGroup}/providers/Microsoft.Web/sites/{websiteName}/config/web
<yourSubscriptionId> 你的 Azure 订阅的 ID
<yourResourceGroup> 包含你的逻辑应用资源的资源组
<websiteName> 你的逻辑应用资源的名称,在本示例中为 mystandardlogicapp
HTTP 请求正文 {"properties": {"vnetPrivatePortsCount": "2"}}

示例

https://management.chinacloudapi.cn/subscriptions/XXxXxxXX-xXXx-XxxX-xXXX-XXXXxXxXxxXX/resourcegroups/My-Standard-RG/providers/Microsoft.Web/sites/mystandardlogicapp/config/web?api-version=2021-02-01

Azure PowerShell

若要使用 Azure PowerShell 完成此任务,请查看以下要求、语法和值。 此方法不需要手动获取持有者令牌。

语法

Set-AzContext -Subscription {yourSubscriptionID}
$webConfig = Get-AzResource -ResourceId {resourceId}
$webConfig.Properties.vnetPrivatePortsCount = 2
$webConfig | Set-AzResource -ResourceId {resourceId}

有关详细信息,请参阅以下文档:

参数值

元素
<yourSubscriptionID> 你的 Azure 订阅的 ID
<resourceId> subscriptions/{yourSubscriptionID}/resourcegroups/{yourResourceGroup}/providers/Microsoft.Web/sites/{websiteName}/config/web
<yourResourceGroup> 包含你的逻辑应用资源的资源组
<websiteName> 你的逻辑应用资源的名称,在本示例中为 mystandardlogicapp

示例

https://management.chinacloudapi.cn/subscriptions/XXxXxxXX-xXXx-XxxX-xXXX-XXXXxXxXxxXX/resourcegroups/My-Standard-RG/providers/Microsoft.Web/sites/mystandardlogicapp/config/web?api-version=2021-02-01

排查错误

错误:预留实例计数无效

如果有错误指出“预留实例计数无效”,请使用以下解决方法:

$webConfig.Properties.preWarmedInstanceCount = $webConfig.Properties.reservedInstanceCount
$webConfig.Properties.reservedInstanceCount = $null
$webConfig | Set-AzResource -ResourceId {resourceId}

错误示例::

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
}

防止在发生资源横向缩减事件期间丢失上下文

资源横向缩减事件可能会导致启用有状态模式的内置连接器的上下文丢失。 若要在发生此类事件之前防止丢失上下文,请修复逻辑应用资源可用的实例数。 这样,就不会发生横向缩减事件,从而可以防止潜在的上下文丢失。

  1. 在逻辑应用资源菜单中的“设置”下,选择“横向扩展”。

  2. 在“应用横向扩展”下,将“强制实施横向扩展限制”设置为“是”,这会显示“最大横向扩展限制”。

  3. 在“横向扩展”页上的“应用横向扩展”下,将“始终就绪的实例数”数量设置为“计划横向扩展”下显示的“最大横向扩展限制”和“最大突发”数量,例如:

    屏幕截图显示了 Azure 门户、标准逻辑应用资源、“横向扩展”页,其中的“始终就绪的实例数”数量设置为与“最大横向扩展限制”和“最大突发”匹配。

  4. 完成后,在“横向扩展”工具栏上选择“保存”。

后续步骤