適用于 Azure Logic Apps 的單一租使用者與多租使用者和整合服務環境

Azure Logic Apps 是以雲端為基礎的平臺,可建立和執行自動化的 邏輯應用程式工作流程 ,以整合您的應用程式、資料、服務和系統。 您可以使用此平臺,快速開發企業和企業對企業 (B2B) 案例的高度可擴充整合解決方案。 若要建立邏輯應用程式,您可以使用 邏輯應用程式 (耗用量) 資源類型或 邏輯應用程式 (標準) 資源類型。 使用量資源類型會在 多租 使用者 Azure Logic Apps 或 整合服務環境 中執行,而標準資源類型則在 單一租 使用者 Azure Logic Apps 環境中執行。

在您選擇要使用的資源類型之前,請先參閱此文章,以瞭解資源類型和服務環境如何彼此比較。 然後,您可以根據您的案例需求、解決方案需求,以及您想要部署、裝載和執行工作流程的環境,決定最適合使用哪一種類型。

如果您不熟悉 Azure Logic Apps,請參閱下列檔:

資源類型和環境

若要建立邏輯應用程式工作流程,您可以根據您的案例、解決方案需求、所需的功能,以及您想要執行工作流程的環境,選擇 邏輯應用程式 資源類型。

下表簡要說明 邏輯應用程式 (標準) 資源類型和 邏輯應用程式 (耗用量) 資源類型之間的差異。 您也將瞭解 單一租 使用者環境與 多租 使用者和整合服務環境之間的比較, (ISE) 來部署、裝載和執行邏輯應用程式工作流程。

資源類型 優點 資源分享和使用方式 定價與計費模型 限制管理
邏輯應用程式 (耗用量)

主機環境:多租使用者

-最簡單的入門

-使用的隨用隨付

-完全受控

單一邏輯應用程式只能有 一個 工作流程。

客戶 跨多個 租使用者建立的邏輯應用程式會共用相同的處理 (計算) 、儲存體、網路等等。

使用量 (按使用量付費) Azure Logic Apps 管理這些限制的預設值,但您可以變更其中一些值(如果該選項存在於特定限制)。
邏輯應用程式 (標準)

主機環境:
單一租使用者

-執行 Azure Functions 可使用容器化單一租使用者 Azure Logic Apps 執行時間執行的任何位置。 目前不支援部署位置。

-更多內建的連接器,以提供更高的輸送量和較低的大規模成本

-執行時間和效能設定方面的更多控制和微調功能

-虛擬網路和私人端點的整合式支援。

-建立您自己的內建連接器。

單一邏輯應用程式可以有多個具 狀態無狀態 的工作流程。

單一邏輯應用程式和租使用者中 的工作流程會共用相同的處理 (計算) 、儲存體、網路等等。

標準,根據具有所選定價層的主控方案

如果您執行可設定 狀態 的工作流程(使用 外部儲存體),則 Azure Logic Apps 執行時間會使遵循 Azure 儲存體定價的儲存體交易。

您可以根據您的案例需求,變更許多限制的預設值。

重要:某些限制具有硬性上限。 在 Visual Studio Code 中,您對邏輯應用程式專案設定檔中的預設限制值所做的變更,將不會出現在設計工具體驗中。 如需詳細資訊,請參閱 在單一租使用者 Azure Logic Apps 中編輯邏輯應用程式的應用程式和環境設定

邏輯應用程式 (耗用量)

主機環境:
整合服務環境 (ISE)

-適用于大型工作負載的企業規模

-20 + ISE 特定的連接器,直接連線到虛擬網路

-具有內含使用量和客戶控制規模調整的可預測定價

單一邏輯應用程式只能有 一個 工作流程。

相同環境中 的邏輯應用程式會共用相同的處理 (計算) 、儲存體、網路等等。

ISE (固定) Azure Logic Apps 管理這些限制的預設值,但您可以變更其中一些值(如果該選項存在於特定限制)。

邏輯應用程式 (標準) 資源

邏輯應用程式 (標準) 資源類型是由重新設計的單一租使用者 Azure Logic Apps 執行時間所支援。 這個容器化執行時間會使用 Azure Functions 擴充性 模型 ,並且在 Azure Functions 執行時間上裝載為擴充功能。 這種設計為邏輯應用程式工作流程提供可攜性、彈性和更高的效能,以及繼承自 Azure Functions 平臺和 Azure App Service 生態系統的其他功能和優點。

例如,您可以執行以單一租使用者為基礎的邏輯應用程式及其工作流程,任何地方都可執行 Azure 函式應用程式和其功能。 標準資源類型引進了可裝載多個工作流程的資源結構,類似于 Azure 函數應用程式可裝載多個函式的方式。 使用一對多對應時,相同邏輯應用程式和租使用者中的工作流程會共用計算和處理資源,以提供更佳的效能,因為它們鄰近。 此結構不同于 邏輯應用程式 (耗用量) 資源,在邏輯應用程式資源與工作流程之間有1對1的對應。

若要深入瞭解可攜性、彈性和效能改進,請繼續進行下列各節。 或者,如需單一租使用者 Azure Logic Apps 執行時間和 Azure Functions 擴充性的詳細資訊,請參閱下列檔:

可攜性和彈性

當您使用 邏輯應用程式 (標準) 資源類型建立邏輯應用程式時,您可以在任何可執行 Azure 函式應用程式和其功能的地方執行您的工作流程,而不只是在單一租使用者的服務環境中執行。

例如,當您搭配使用 Visual Studio Code 與 Azure Logic Apps (Standard) 延伸模組時,您可以在開發環境中 本機 開發、建立和執行工作流程,而不需要部署至 Azure。 如果您的案例需要容器,您可以將邏輯應用程式,並將其部署為容器。

相較于多租使用者模型,這些功能提供了重大的改進和顯著的優點,因此您必須針對 Azure 中現有的執行中資源進行開發。 此外,用來自動化 邏輯應用程式 (耗用量) 資源部署的多租使用者模型完全是以 (ARM 範本) 的 Azure Resource Manager 範本為基礎,其結合和處理應用程式和基礎結構的資源布建。

使用 邏輯應用程式 (標準) 資源類型時,部署會變得更容易,因為您可以將應用程式部署與基礎結構部署分開。 您可以將單一租使用者 Azure Logic Apps 執行時間和工作流程封裝成邏輯應用程式的一部分。 您可以使用一般步驟或工作,以建立、組合並將邏輯應用程式資源壓縮成可立即部署的構件。 若要部署您的基礎結構,您仍然可以使用 ARM 範本來分開布建這些資源,以及用於這些資源的其他進程和管線。

若要部署您的應用程式,請將構件複製到主機環境,然後啟動您的應用程式以執行您的工作流程。 或者,您可以使用您已經熟知並使用的工具和程式,將您的構件整合到部署管線中。 如此一來,您就可以使用自己選擇的工具來部署,無論您使用何種技術堆疊來進行開發。

您可以使用標準的組建和部署選項,將重點放在應用程式開發,而不需要部署基礎結構。 因此,您會取得更一般的專案模型,您可以在其中套用用於一般應用程式的許多類似或相同的部署選項。 您也可以透過更一致的體驗來建立應用程式專案的部署管線,以及在發行至生產環境之前執行必要的測試和驗證,以獲得更一致的體驗。

效能

使用 邏輯應用程式 (標準) 資源類型時,您可以在相同的單一邏輯應用程式和租使用者中建立和執行多個工作流程。 透過這種一對多對應,這些工作流程會共用資源,例如計算、處理、儲存和網路,以提供更佳的效能,因為它們鄰近。

邏輯應用程式 (標準) 資源類型和單一租使用者 Azure Logic Apps 執行時間,可讓更受歡迎的受控連接器可作為內建作業,藉此提供另一項重大改進。 例如,您可以使用 Azure 服務匯流排、Azure 事件中樞、SQL 和其他的內建作業。 同時,受管理的連接器版本仍可使用,並繼續運作。

當您使用新的內建作業時,您會建立稱為 內建連接服務提供者 連線的連線。 其受管理的連線對應項稱為 API 連線,其會以您也必須使用 ARM 範本部署的 Azure 資源分開建立和執行。 內建作業和其連線會在執行工作流程的相同進程中于本機執行。 兩者都裝載于單一租使用者 Azure Logic Apps 執行時間。 因此,內建作業和其連線可提供較佳的效能,因為與您的工作流程相近。 這種設計也適用于部署管線,因為服務提供者連接會封裝成相同的組建成品。

建立、建立和部署選項

若要根據您想要的環境建立邏輯應用程式,您有多個選項,例如:

單一租使用者環境

選項 資源和工具 詳細資訊
Azure 入口網站 邏輯應用程式 (標準) 資源類型 建立單一租使用者 Logic Apps Azure 入口網站的整合工作流程
Visual Studio Code Azure Logic Apps (Standard) 延伸模組 建立單一租使用者 Logic Apps Visual Studio Code 的整合工作流程
Azure CLI Logic Apps Azure CLI 延伸模組 尚未提供

多租用戶環境

選項 資源和工具 詳細資訊
Azure 入口網站 邏輯應用程式 (耗用量) 資源類型 快速入門:在多租使用者中建立整合工作流程 Azure Logic Apps-Azure 入口網站
Visual Studio Code Azure Logic Apps (耗用量) 延伸模組 快速入門:在多租使用者中建立整合工作流程 Azure Logic Apps-Visual Studio Code
Azure CLI Logic Apps Azure CLI 延伸模組 - 快速入門:在多租使用者中建立和管理整合工作流程 Azure Logic Apps-Azure CLI

- az 邏輯

Azure Resource Manager 建立邏輯應用程式 Azure Resource Manager (ARM) 範本 快速入門:在多租使用者 Azure Logic Apps 中建立和部署整合工作流程-ARM 範本
Azure PowerShell Az. LogicApp 模組 開始使用 Azure PowerShell
Azure REST API Azure Logic Apps REST API 開始使用 Azure REST API 參考

整合服務環境

選項 資源和工具 詳細資訊
Azure 入口網站 邏輯應用程式 (耗用量) 具有現有 ISE 資源的資源類型 快速入門相同:在多租使用者 Azure Logic Apps Azure 入口網站中建立整合工作流程,但請選取 ISE,而不是多租使用者區域。

雖然您的開發體驗會因為您建立的是 耗用量標準 邏輯應用程式資源而有所不同,但您可以在 Azure 訂用帳戶下尋找並存取所有已部署的邏輯應用程式。

例如,在 Azure 入口網站中,[ 邏輯應用程式 ] 頁面會顯示 耗用量標準 邏輯應用程式資源類型。 在 Visual Studio Code 中,已部署的邏輯應用程式會出現在您的 Azure 訂用帳戶底下,但會依您使用的擴充功能分組,也就是 azure: Logic Apps (耗用量)azure: Logic Apps (標準)

具狀態和無狀態工作流程

使用 邏輯應用程式 (標準) 資源類型時,您可以在相同的邏輯應用程式中建立這些工作流程類型:

  • 狀態

    當您需要保留、審核或參考先前事件的資料時,請建立具狀態工作流程。 這些工作流程會將每個動作及其狀態的輸入和輸出儲存在外部儲存體中,這會在每次執行完成之後,檢查執行詳細資料和歷程記錄。 可設定狀態的工作流程會在中斷發生時提供高彈性。 還原服務和系統之後,您可以從儲存的狀態重建中斷的執行,然後重新執行工作流程以完成。 可設定狀態的工作流程可以繼續執行超過無狀態工作流程。

  • 無狀態

    當您不需要儲存、審核或參考外部儲存體中先前事件的資料,以供日後審查時,請建立無狀態工作流程。 這些工作流程只會將每個動作的輸入和輸出儲存 在記憶體中,而不會將這些資料傳輸至外部儲存體。 如此一來,無狀態工作流程的執行通常不會超過5分鐘、更快速的效能,並縮短回應時間、提高輸送量,以及降低執行成本,因為執行詳細資料和歷程記錄不會保留在外部儲存體中。 但是,如果發生中斷,則不會自動還原中斷的執行,因此呼叫端需要手動重新提交中斷的執行。 這些工作流程只能以同步方式執行。

    為了更容易進行偵錯工具,您可以啟用無狀態工作流程的執行歷程記錄,這會對效能造成一些影響,然後在完成時停用執行歷程記錄。 如需詳細資訊,請參閱在 Visual Studio Code 中建立以單一租使用者為基礎的工作流程 ,或 在 Azure 入口網站中建立單一租使用者的工作流程

    注意

    無狀態工作流程目前僅支援 受管理連接器動作,這些連接器會部署在 Azure 中,而不支援觸發程式。 若要啟動您的工作流程,請選取 內建的要求、事件中樞或服務匯流排觸發程式。 這些觸發程式會在 Azure Logic Apps 執行時間中以原生方式執行。 如需受限、無法使用或不支援的觸發程式、動作和連接器的詳細資訊,請參閱 變更、受限、無法使用或不支援的功能

具狀態和無狀態工作流程之間的嵌套行為差異

您可以使用 要求觸發) (程式、 HTTP Webhook 觸發程式,或具有 APICONNECTIONWEBHOOK 類型且可接收 HTTPS 要求的受控連接器觸發程式,從存在於相同 邏輯應用程式 中的其他工作流程,將工作流程從現有的工作流程中呼叫。

以下是父工作流程呼叫子工作流程之後,嵌套工作流程可以遵循的行為模式:

  • 非同步輪詢模式

    父代不會等候其初始呼叫的回應,但會持續檢查子系的執行歷程記錄,直到子系完成執行為止。 根據預設,具狀態工作流程會遵循此模式,這適用于可能超出 要求超時限制的長時間執行子工作流程。

  • 同步模式 ( 「火災別忘了」 )

    子系會立即傳迴響應來確認呼叫 202 ACCEPTED ,而父系會繼續執行下一個動作,而不會等待子系的結果。 相反地,父系會在子系執行完成時收到結果。 未包含回應動作的子具狀態工作流程一律會遵循同步模式。 針對子具狀態工作流程,您可以使用執行歷程記錄來進行審核。

    若要啟用此行為,請在工作流程的 JSON 定義中,將 operationOptions 屬性設定為 DisableAsyncPattern 。 如需詳細資訊,請參閱 觸發程式和動作類型-操作選項

  • 觸發程式並等候

    針對子無狀態工作流程,父系會等待傳回子系結果的回應。 此模式的運作方式類似于使用內建的 HTTP 觸發程式或動作 來呼叫子工作流程。 未包含回應動作的子無狀態工作流程會立即傳回 202 ACCEPTED 回應,但父系會等待子系完成,然後再繼續下一個動作。 這些行為只適用于子無狀態工作流程。

這個資料表會根據父項和子系是具狀態、無狀態,還是混合的工作流程類型,來指定子工作流程的行為:

父工作流程 子工作流程 子行為
具狀態 具狀態 非同步或同步的 "operationOptions": "DisableAsyncPattern" 設定
具狀態 無狀態 觸發程式並等候
無狀態 具狀態 同步
無狀態 無狀態 觸發程式並等候

其他單一租使用者模型功能

單一租使用者模型和 邏輯應用程式 (標準) 資源類型包含許多目前和新的功能,例如:

  • 400 + 受控連接器 建立邏輯應用程式和其工作流程,以提供軟體即服務 (SaaS) 和平臺即服務 (PaaS) 應用程式和服務,以及內部部署系統的連接器。

    • 現在有更多受控連接器可作為內建作業,並以類似于其他內建作業的方式執行,例如 Azure Functions。 內建作業會以原生方式在單一租使用者 Azure Logic Apps 執行時間上執行。 例如,新的內建作業包括 Azure 服務匯流排、Azure 事件中樞、SQL Server 和 MQ。

      注意

      針對內建的 SQL Server 版本,只有 執行查詢 動作可以直接連接到 Azure 虛擬網路,而不需要使用內部 部署資料閘道

    • 您可以使用 單一租使用者 Azure Logic Apps擴充性架構,針對您所需的任何服務建立自己的內建連接器。 類似于內建作業(例如 Azure 服務匯流排和 SQL Server),但自訂 受控連接器(不受支援)不同的是,自訂內建連接器可提供較高的輸送量、低延遲和本機連線,因為它們會在與單一租使用者執行時間相同的進程中執行。

      撰寫功能目前僅適用于 Visual Studio Code,但預設不會啟用。 若要建立這些連接器,請將 您的專案從擴充功能套件組合型 (Node.js) 切換至 NuGet 套件型 ( .net) 。 如需詳細資訊,請參閱 Azure Logic Apps 執行內建連接器擴充性。

    • 您可以在沒有整合帳戶的情況下,對液體作業和 XML 作業使用 B2B 動作。 若要使用這些動作,您必須擁有可透過 Azure 入口網站中的個別動作上傳的液體地圖、XML 地圖或 XML 架構,或使用個別的 maps架構 資料夾,新增至 Visual Studio Code 專案的成品 資料夾。

    • 邏輯應用程式 (標準) 資源可在任何位置執行,因為 Azure Logic Apps 服務會產生共用存取簽章 (SAS) 連接字串,這些邏輯應用程式可使用這些連接字串將要求傳送至雲端連線執行時間端點。 Logic Apps 服務會使用其他應用程式設定來儲存這些連接字串,讓您可以在 Azure 中部署時輕鬆地將這些值儲存在 Azure Key Vault 中。

      注意

      根據預設, 邏輯應用程式 (標準) 資源會自動啟用 系統指派的受控識別 ,以在執行時間驗證連接。 此身分識別與您建立連接時所使用的驗證認證或連接字串不同。 如果您停用此身分識別,連接將無法在執行時間運作。 若要查看此設定,請在邏輯應用程式的功能表上,選取 [ 設定] 下的 [身分 識別]。

  • 無狀態工作流程只會在記憶體中執行,讓它們的完成速度更快、回應速度更高、輸送量更高,且執行成本較低,因為執行歷程記錄和動作之間的資料不會保存在外部儲存體中。 (選擇性)您可以啟用執行歷程記錄,以便更輕鬆地進行調試。 如需詳細資訊,請參閱具 狀態與無狀態工作流程

  • 您可以在 Visual Studio Code 開發環境中,于本機執行、測試和偵測邏輯應用程式及其工作流程。

    在您執行並測試邏輯應用程式之前,您可以在工作流程的 workflow.js 檔案內加入和使用中斷點,讓偵錯工具更容易進行。 不過,目前只有動作(而非觸發程式)支援中斷點。 如需詳細資訊,請參閱 在 Visual Studio Code 中建立以單一租使用者為基礎的工作流程

  • 直接將邏輯應用程式及其工作流程從 Visual Studio Code 發佈或部署到各種裝載環境,例如 Azure 和容器。

  • 當您的 Azure 訂用帳戶和邏輯應用程式設定支援時,請使用 Application Insights 為您的邏輯應用程式啟用診斷記錄和追蹤功能。

  • 存取網路功能(例如,連線並與 Azure 虛擬網路整合),類似于當您使用 Azure Functions Premium 方案來建立和部署邏輯應用程式時的 Azure Functions。 如需詳細資訊,請參閱下列檔:

  • 針對邏輯應用程式中個別工作流程所使用的受控連線重新產生存取金鑰 (標準) 資源。 針對這項工作,請 遵循相同的步驟來 Logic Apps (耗用量) 資源,但在個別的工作流程層級,而不是邏輯應用程式資源層級。

變更、受限、無法使用或不支援的功能

針對 邏輯應用程式 (標準) 資源,這些功能已變更,或目前受限、無法使用或不受支援:

  • 觸發程式和動作:內建的觸發程式和動作會以原生方式在單一租使用者 Azure Logic Apps 執行時間中執行,而受控連接器則是在 Azure 中託管和執行。 某些內建觸發程式無法使用,例如滑動視窗和批次。 若要啟動具狀態或無狀態的工作流程,請使用 內建的週期、要求、HTTP、Http Webhook、事件中樞或服務匯流排觸發程式。 在設計工具中,內建的觸發程式和動作都會出現在 [ 內建 ] 索引標籤底下。

    針對可設定 狀態 的工作流程, 受控連接器觸發程式和動作 會出現在 [ Azure ] 索引標籤底下,但無法使用的作業除外。 針對 無狀態 工作流程,當您想要選取觸發程式時,不會顯示 [ Azure ] 索引標籤。 您只能選取 受管理的連接器 動作,而不是觸發程式。 雖然您可以針對無狀態工作流程啟用 Azure 裝載的受控連接器,但是設計工具不會顯示任何可供您新增的受控連接器觸發程式。

    注意

    若要在 Visual Studio Code 中于本機執行,以 webhook 為基礎的觸發程式和動作需要額外的設定。 如需詳細資訊,請參閱 在 Visual Studio Code 中建立以單一租使用者為基礎的工作流程

    • 這些觸發程式和動作可能已變更,或目前受限、不支援或無法使用:

      • 內部部署資料閘道 觸發 程式 無法使用,但有可用的 閘道動作。

      • 內建的動作, Azure Functions 選擇 azure 函式現在是 azure Function 作業-呼叫 azure 函式。 此動作目前僅適用于從 HTTP 觸發 程式範本建立的函式。

        在 Azure 入口網站中,您可以透過使用者體驗來建立連線,以選取您可以存取的 HTTP 觸發程式函式。 如果您在程式碼視圖中檢查函式動作的 JSON 定義,或使用 Visual Studio Code 在檔案 workflow.js上 檢查,則該動作會使用參考來參考函式 connectionName 。 此版本會將函式的資訊抽象化為連接,您可以在邏輯應用程式專案的 connections.js 檔案中找到該檔案,在 Visual Studio Code 中建立連線之後可使用此功能。

        注意

        在單一租使用者模型中,函數動作僅支援查詢字串驗證。 Azure Logic Apps 在建立連線時從函式取得預設索引鍵,會將該金鑰儲存在應用程式的設定中,並在呼叫函式時,使用金鑰進行驗證。

        如同在多租使用者模型中,如果您在入口網站中更新此金鑰(例如,透過入口網站中的 Azure Functions 體驗),由於金鑰無效,所以函式動作不再有效。 若要修正此問題,您必須重新建立與您想要呼叫之函式的連線,或使用新的金鑰來更新應用程式的設定。

      • 內建的 內嵌程式碼動作 是重新命名的 內嵌程式碼作業,不再需要整合帳戶,也有 更新的限制

      • 內建動作 Azure Logic Apps 選擇邏輯應用程式工作流程 現在是 工作流程作業-在此工作流程應用程式中叫用工作流程

      • 某些 內建的 B2B 觸發程式和整合帳戶的動作 無法使用,例如一般檔案 編碼和 解碼動作。

      • 目前不支援自訂受控連接器。 但是,當您使用 Visual Studio Code 時,您可以建立 自訂的內建作業 。 如需詳細資訊,請參閱 使用 Visual Studio Code 建立以單一租使用者為基礎的工作流程

  • Visual Studio Code 中的中斷點調試 程式:雖然您可以在工作流程的 workflow.js 檔案中加入和使用中斷點,但目前只有動作(而非觸發程式)支援中斷點。 如需詳細資訊,請參閱 在 Visual Studio Code 中建立以單一租使用者為基礎的工作流程

  • 觸發程式歷程記錄和執行歷程記錄:適用于 邏輯應用程式 (標準) 資源類型、觸發程式歷程記錄和 Azure 入口網站中的執行歷程記錄會顯示在工作流程層級,而不是邏輯應用層級。 如需詳細資訊,請參閱 使用 Azure 入口網站建立以單一租使用者為基礎的工作流程

  • 縮放控制項:縮放控制項目前無法在設計工具上使用。

  • 部署目標:您無法將 邏輯應用程式 (標準) 資源類型部署到 整合服務環境 (ISE) 也不能部署到 Azure 部署位置。

  • AZURE Api 管理:您目前無法將 邏輯應用程式 (標準) 資源類型匯入至 Azure API 管理。 不過,您可以) 資源類型 (耗用量匯入邏輯應用程式

嚴格的網路和防火牆流量許可權

如果您的環境具有嚴格的網路需求或防火牆來限制流量,則您必須允許您的邏輯應用程式工作流程中的任何觸發程式或動作連接存取。 若要尋找這些連線 (Fqdn) 的完整功能變數名稱,請參閱這些主題中的對應章節:

下一步

我們也想聽聽您對單一租使用者 Azure Logic Apps 的體驗!