다음을 통해 공유

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

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

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

  • Azure 服务总线
  • SAP
  • IBM MQ

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

Prerequisites

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

如果在虚拟网络中使用网络安全组,状态模式要求打开 端口 20,000 到 30,000

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

  2. 若要为逻辑应用启用虚拟网络集成,并将逻辑应用添加到之前创建的子网,请执行以下步骤:

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

    2. 在“出站流量配置”部分的“虚拟网络集成”旁边,选择“未配置”“添加虚拟网络集成”。>

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

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

    5. 完成后,选择“连接”,然后返回到“网络”页。

      “虚拟网络集成”属性现在设置为所选的虚拟网络和子网,例如:

      屏幕截图显示了 Azure 门户、标准逻辑应用资源、具有所选虚拟网络和子网的网络页。

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

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

更新逻辑应用的网站配置

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

Azure 门户

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

  1. Azure 门户中,查找并打开标准逻辑应用资源。

  2. 在逻辑应用菜单上的“设置”下,选择“配置” 。

  3. 在“配置”页上,选择“常规设置”

    屏幕截图显示了 Azure 门户、标准逻辑应用菜单、“设置”和“配置”,其中选择了“常规设置”选项卡。

  4. 在“平台设置”下的“VNet 专用端口”框中,输入要使用的端口

    屏幕截图显示了 Azure 门户、标准逻辑应用菜单、“设置”和“配置”,其中选择了“常规设置”选项卡,并突出显示了名为“VNet 专用端口”的属性。

Azure 资源管理 API

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

Requirements

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

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

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

Syntax

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

PATCH https://management.chinacloudapi.cn/<resource-ID>?api-version=2021-04-01

Parameter values

Element Value
HTTP 请求方法 PATCH
< resource-ID> subscriptions/<Azure-subscription-ID>/resourcegroups/<resource-group>/providers/Microsoft.Web/sites/<website-name>/config/web
< Azure-subscription-ID> 你的 Azure 订阅的 ID
< resource-group> 包含逻辑应用资源的资源组,在本示例中为 My-Standard-RG
< website-name> 你的逻辑应用资源的名称,在本示例中为 mystandardlogicapp
HTTP 请求正文 {"properties": {"vnetPrivatePortsCount": "2"}}

Example

https://management.chinacloudapi.cn/subscriptions/<Azure-subscription-ID>/resourcegroups/My-Standard-RG/providers/Microsoft.Web/sites/mystandardlogicapp/config/web?api-version=2021-02-01

Azure PowerShell

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

Syntax

Set-AzContext -Subscription <Azure-subscription-ID>
$webConfig = Get-AzResource -ResourceId <resource-ID>
$webConfig.Properties.vnetPrivatePortsCount = 2
$webConfig | Set-AzResource -ResourceId <resource-ID>

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

Parameter values

Element Value
< Azure-subscription-ID> 你的 Azure 订阅的 ID
< resource-ID> subscriptions/<Azure-subscription-ID>/resourcegroups/<resource-group>/providers/Microsoft.Web/sites/<website-name>/config/web
< resource-group> 包含逻辑应用资源的资源组,在本示例中为 My-Standard-RG
< website-name> 你的逻辑应用资源的名称,在本示例中为 mystandardlogicapp

Example

https://management.chinacloudapi.cn/subscriptions/<Azure-subscription-ID>/resourcegroups/My-Standard-RG/providers/Microsoft.Web/sites/mystandardlogicapp/config/web?api-version=2021-02-01

Troubleshoot errors

错误:预留实例计数无效

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

$webConfig.Properties.preWarmedInstanceCount = $webConfig.Properties.reservedInstanceCount
$webConfig.Properties.reservedInstanceCount = $null
$webConfig | Set-AzResource -ResourceId <resource-ID>

Error example:

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
}

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

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

Note

对于不使用应用服务环境 v3 托管选项的逻辑应用,Azure 逻辑应用在缩减事件期间等待最多 5 分钟,然后再关闭虚拟机。 内置连接器可能会遇到问题。 例如,Azure 服务总线在平台升级期间无法完成消息。

  1. 在逻辑应用资源菜单上的“设置”下,选择“横向扩展”(应用服务计划)。

  2. “横向扩展”(应用服务计划) 页上的 “应用横向扩展 ”部分中,执行以下步骤:

    1. “强制横向扩展限制” 设置为 “是”,这将显示 “最大横向扩展限制” 属性。

    2. 将“始终就绪的实例数”数量设置为“计划横向扩展”部分中显示的“最大横向扩展限制”和“最大突发”数量,例如

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

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