Share via


在 Azure Logic Apps 中啟用無狀態內建連接器的具狀態模式

適用於:Azure Logic Apps (標準)

在標準邏輯應用程式工作流程中,根據預設,下列內建服務提供者型連接器是無狀態的:

  • Azure 服務匯流排
  • SAP
  • IBM MQ

若要以具狀態模式執行這些連接器作業,您必須啟用這項功能。 本操作指南會示範如何啟用這些連接器的具狀態模式。

必要條件

在 Azure 入口網站中啟用具狀態模式

  1. Azure 入口網站中,開啟您要在其中為這些連接器作業啟用具狀態模式的標準邏輯應用程式資源。

  2. 啟用邏輯應用程式的虛擬網路整合,並將邏輯應用程式新增至先前建立的子網路:

    1. 在邏輯應用程式功能表資料的 [設定] 之下,選取 [網路]

    2. 在 [輸出流量] 區段中,選取 [VNET 整合]>[新增 VNet]

    3. 在開啟的 [新增 VNet 整合] 窗格上,選取您的 Azure 訂用帳戶和虛擬網路。

    4. 在 [子網路] 之下,選取 [選取現有]。 從 [子網路] 清單中,選取您要在其中新增邏輯應用程式的子網路。

    5. 完成時,選取確定

      在 [網络] 頁面上,[VNet 整合] 選項現在會顯示為 [開啟],例如:

      Screenshot shows Azure portal, Standard logic app resource, Networking page, VNet integration set to On.

    如需啟用虛擬網路與應用程式整合的一般資訊,請參閱在 Azure App Service 中啟用虛擬網路整合

  3. 接下來,使用下列任一工具來更新邏輯應用程式的基礎網站組態 (<logic-app-name>.azurewebsites.net):

更新邏輯應用程式的網站設定

開啟邏輯應用程式的虛擬網路整合之後,您必須使用下列其中一種方法來更新邏輯應用程式的基礎網站組態 (<logic-app-name>.azurewebsites.net):

Azure 入口網站

若要使用 Azure 入口網站設定虛擬網路私人連接埠,請遵循下列步驟:

  1. Azure 入口網站中,尋找並開啟標準邏輯應用程式資源。
  2. 在邏輯應用程式功能表的 [設定] 下,選取 [設定]
  3. 在 [組態] 頁面上,選取 [一般設定]
  4. 在 [平台設定] 底下的 [VNet 私人連接埠] 方塊中,輸入您想要使用的連接埠。

Azure 資源管理 API

若要使用 Azure 資源管理 API - 依識別碼更新來完成這項工作,請檢閱下列需求、語法和參數值。

需求

需要 OAuth 授權和持有人權杖。 若要取得持有人權杖,請遵循下列步驟:

  1. 當您登入 Azure 入口網站時,請開啟網頁瀏覽器的開發人員工具 (F12)。

  2. 傳送任何管理要求以取得權杖,例如,藉由在標準邏輯應用程式中儲存工作流程。

語法

使用指定的資源識別碼來更新資源:

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

參數值

元素 Description
HTTP 要求方法 PATCH
<resourceId> subscriptions/{yourSubscriptionID}/resourcegroups/{yourResourceGroup}/providers/Microsoft.Web/sites/{websiteName}/config/web
<yourSubscriptionId> Azure 訂用帳戶的識別碼
<yourResourceGroup> 包含邏輯應用程式資源的資源群組
<websiteName> 邏輯應用程式資源的名稱,在此範例中是 mystandardlogicapp
HTTP 要求本文 {"properties": {"vnetPrivatePortsCount": "2"}}

範例

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

若要使用 Azure PowerShell 完成這項工作,請檢閱下列需求、語法和值。 此方法不需要您手動取得持有人權杖。

語法

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

如需詳細資訊,請參閱下列文件:

參數值

元素
<yourSubscriptionID> Azure 訂用帳戶的識別碼
<resourceId> subscriptions/{yourSubscriptionID}/resourcegroups/{yourResourceGroup}/providers/Microsoft.Web/sites/{websiteName}/config/web
<yourResourceGroup> 包含邏輯應用程式資源的資源群組
<websiteName> 邏輯應用程式資源的名稱,在此範例中是 mystandardlogicapp

範例

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

針對錯誤進行疑難排解

錯誤:保留執行個體計數無效

如果您收到錯誤,指出 [保留執行個體計數] 無效,請使用下列因應措施:

$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. 在 [擴增] 頁面的 [應用程式擴增] 之下,將 [永遠就緒的執行個體] 數目設定為與 [擴增限制上限] 和 [高載上限] 相同的數字,其會出現在 [計劃擴增] 底下,例如:

    Screenshot shows Azure portal, Standard logic app resource, Scale out page, and Always Ready Instances number set to match Maximum Scale Out Limit and Maximum Burst.

  4. 完成時,在 [擴增] 工具列上,選取 [儲存]

下一步