适用于:Azure 逻辑应用(标准)
在标准逻辑应用工作流中,以下基于服务提供商的内置连接器默认是无状态的:
- Azure 服务总线
- SAP
- IBM MQ
若要在有状态模式下运行这些连接器操作,必须启用此功能。 本操作指南介绍如何为这些连接器启用有状态模式。
Prerequisites
Azure 帐户和订阅。 如果没有订阅, 请注册试用版 Azure 订阅。
标准逻辑应用资源,你计划在其中创建使用已启用有状态模式的连接器操作的工作流。 如果没有此资源, 请立即创建标准逻辑应用资源。
一个 Azure 虚拟网络,其中包含要与逻辑应用集成的子网。 如果你没有这些项,请参阅以下文档:
在 Azure 门户中启用有状态模式
如果在虚拟网络中使用网络安全组,状态模式要求打开 端口 20,000 到 30,000。
在 Azure 门户中,打开要为这些连接器操作启用有状态模式的标准逻辑应用资源。
若要为逻辑应用启用虚拟网络集成,并将逻辑应用添加到之前创建的子网,请执行以下步骤:
在逻辑应用菜单资源中的“设置”下,选择“网络”。
在“出站流量配置”部分的“虚拟网络集成”旁边,选择“未配置”“添加虚拟网络集成”。>
在打开的“添加虚拟网络集成”窗格中,选择你的 Azure 订阅和你的虚拟网络。
从“子网”列表中,选择要在其中添加逻辑应用的子网。
完成后,选择“连接”,然后返回到“网络”页。
“虚拟网络集成”属性现在设置为所选的虚拟网络和子网,例如:
有关启用虚拟网络与应用集成的常规信息,请参阅 在 Azure 应用服务中启用虚拟网络集成。
接下来,使用以下任一工具更新逻辑应用的基础网站配置 (<logic-app-name.chinacloudsites.cn):
更新逻辑应用的网站配置
为逻辑应用启用虚拟网络集成后,必须使用以下方法之一更新逻辑应用的基础网站配置 (<logic-app-name.chinacloudsites.cn):
- Azure 门户 (不需要持有者令牌)
- Azure 资源管理 API (需要持有者令牌)
- Azure PowerShell ( 不需要 持有者令牌)
Azure 门户
若要使用 Azure 门户配置虚拟网络专用端口,请执行以下步骤:
在 Azure 门户中,查找并打开标准逻辑应用资源。
在逻辑应用菜单上的“设置”下,选择“配置” 。
在“配置”页上,选择“常规设置”。
在“平台设置”下的“VNet 专用端口”框中,输入要使用的端口。
Azure 资源管理 API
若要使用 Azure 资源管理 API 完成此任务 - 按 ID 更新,请查看以下要求、语法和参数值。
Requirements
需要 OAuth 授权和持有者令牌。 若要获取持有者令牌,请执行以下步骤
登录到 Azure 门户后,打开 Web 浏览器的开发人员工具 (F12)。
通过发送任何管理请求来获取令牌,例如,通过在标准逻辑应用中保存工作流。
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 服务总线在平台升级期间无法完成消息。
在逻辑应用资源菜单上的“设置”下,选择“横向扩展”(应用服务计划)。
在 “横向扩展”(应用服务计划) 页上的 “应用横向扩展 ”部分中,执行以下步骤:
将 “强制横向扩展限制” 设置为 “是”,这将显示 “最大横向扩展限制” 属性。
将“始终就绪的实例数”数量设置为“计划横向扩展”部分中显示的“最大横向扩展限制”和“最大突发”数量,例如:
完成后,在“横向扩展”工具栏上选择“保存”。