在單一租用戶 Azure Logic Apps 中設定標準邏輯應用程式的 SQL 資料庫儲存體 (預覽)

適用於:Azure Logic Apps (標準)

重要

此功能處於預覽狀態,且受限於 Microsoft Azure 預覽版的補充使用規定

當您選擇邏輯應用程式 (標準) 資源類型來建立在單一租用戶 Azure Logic Apps、App Service 環境 v3 或 Azure 外部執行的工作流程時,您也必須建立Azure 儲存體帳戶來儲存工作流程相關的成品、狀態和執行階段資料。 不過,如果您想要更靈活充分控制邏輯應用程式工作流程的執行階段環境、輸送量、調整規模、效能和管理,則可以使用 SQL 儲存體提供者,而不是使用工作流程相關儲存體交易的 Azure 儲存體。

本文概述為何您可能想要使用 SQL 儲存體作為 Azure Logic Apps 的主要儲存體提供者,以替代 Azure 儲存體,並示範如何在 Azure 入口網站的邏輯應用程式建立期間或從 Visual Studio Code 的邏輯應用程式部署期間設定儲存體的 SQL。

如果不熟悉 Logic Apps,請檢閱下列文件:

使用 SQL 的原因

作為單一租用戶 Azure Logic Apps 可用的替代儲存體選項,SQL 提供下列優點:

優點 Description
可攜性 SQL 有許多板型規格,包括虛擬機器、平台即服務 (PaaS) 和容器。 您幾乎可以在您想要執行邏輯應用程式工作流程的任何位置執行 SQL 資料庫。
控制 SQL 可讓您更精細控制特定期間或特定工作負載的資料庫輸送量、效能和調整規模。 SQL 定價是以 CPU 使用量和輸送量為基礎,相較於以每項作業為基礎的 Azure 儲存體而言,可提供更可預期的定價。
使用現有的資產 如果您熟悉 Microsoft 工具,則可以使用其資產來與 SQL 進行新式整合。 您可以使用 Azure Hybrid Benefit,在傳統內部部署和現代化雲端實作之間重複使用資產。 SQL也提供成熟且完善支援的工具,例如 SQL Server Management Studio (SSMS) 、命令列介面和 SDK。
遵循 SQL 提供比 Azure 儲存體更多的選項,供您備份、還原、容錯移轉和建置備援。 您可以將與其他企業應用程式相同的企業級機制套用至邏輯應用程式的儲存體。

使用 SQL 的時機

下表說明您可能想要使用 SQL 的一些原因:

案例 建議的儲存體提供者
您想要在 Azure 中執行邏輯應用程式工作流程,以更充分掌控儲存體輸送量和效能。 使用 SQL 作為儲存體提供者,因為 Azure 儲存體不提供微調輸送量和效能的工具。
您想要在內部部署環境中執行邏輯應用程式工作流程,則可以使用已啟用 Azure Arc 的 Logic Apps 使用 SQL 作為儲存體提供者,以便您可以選擇裝載 SQL 資料庫的位置,例如虛擬機器、容器或多雲端中的內部部署。 請考慮執行與所要整合系統接近的邏輯應用程式工作流程,或減少您對雲端的相依性。
您想要可預測的儲存體成本。 當您想要充分控制調整成本時,請使用 SQL 作為儲存體提供者。 SQL 成本是以每項計算和每秒輸入輸出作業 (IOPs) 為基礎。 Azure 儲存體成本是以作業數目為基礎,這可能更適用於調整為零的小型工作負載。
您偏好使用 SQL 而非 Azure 儲存體。 SQL 是一個已知且可靠的生態系統,可讓您在邏輯應用程式幕後作業中套用相同的治理和管理。
您想要重複使用現有的 SQL 環境。 如果您已經擁有想要重複使用或現代化到雲端的 SQL 授權,請使用 SQL 作為儲存體提供者。 您也可以針對邏輯應用程式整合使用 Azure Hybrid Benefits。
其餘 使用 Azure 儲存體作為預設儲存體提供者。

必要條件

  • Azure 帳戶和作用中的訂用帳戶。 如果您尚沒有帳戶,請註冊免費帳戶

  • 要與邏輯應用程式搭配使用的 SQL 環境。 不過,在您設定環境之前,請先完成下列步驟:

    1. 建立 SQL 伺服器執行個體。

      支援的類型包括 SQL ServerAzure SQL 資料庫Azure SQL 受控執行個體等。

      • 如果您的 SQL 伺服器是使用其中一種支援的類型裝載在 Azure 上,請務必設定下列權限:

        1. Azure 入口網站中,移至 SQL 伺服器資源。

        2. 在資源瀏覽功能表的 [安全性] 底下,選取 [防火牆與虛擬網路]。

        3. 在開啟的窗格中,在 [允許 Azure 服務和資源存取此伺服器] 下,選取 [是]。

        4. 儲存您的變更。

      • 如果您的 SQL 伺服器未裝載於 Azure 上,請確定伺服器上的任何防火牆或網路設定都允許 Azure 服務和資源存取您的伺服器和資料庫。

      • 如果您使用 SQL Express 進行本機開發,請連線至預設具名執行個體 localhost\SQLExpress

    2. 建立或使用現有的資料庫。

      您必須先擁有可用的資料庫,才可以設定 SQL 儲存體提供者。

    3. 現在,您可以遵循本文的「設定 SQL 環境步驟」。

  • 針對本機開發,Visual Studio Code 會安裝在本機電腦上。

    注意

    請確定您使用 Microsoft Installer (MSI) 版本 (也就是 func-cli-X.X.XXXX-x*.msi) 來安裝 Azure Functions Core Tools 的最新版本,以確保 SQL 支援。 如需 Visual Studio Code 安裝需求的詳細資訊,請參閱在 Visual Studio Code 中使用單一租用戶 Azure Logic Apps (標準) 建立整合工作流程

設定您的 SQL 環境

  1. 設定 SQL 儲存體提供者之前,請先完成必要條件中的必要步驟。

  2. 設定 SQL 伺服器的權限。

    SQL 儲存體提供者目前支援連接字串中的 SQL 驗證。 您也可以使用 Windows 驗證進行本機開發和測試。 目前尚未提供 Azure Active Directory (Azure AD) 和受控識別的支援。

    您必須使用具有權限的身分識別,在目標 SQL 資料庫中建立和管理工作流程相關的成品。 例如,系統管理員擁有建立和管理這些成品必要的權限。 下列清單描述單一租用戶 Azure Logic Apps 執行階段嘗試使用您提供的 SQL 連接字串來建立的成品。 請確定 SQL 連接字串中使用的身分識別具有建立下列成品的必要權限:

    • 建立和刪除下列結構描述:dtdcdq
    • 新增、改變和刪除這些結構描述中的資料表。
    • 新增、改變和刪除這些結構描述中的使用者定義資料表類型。

    如需目標權限的詳細資訊,請參閱資料庫引擎中的 SQL 伺服器權限

  3. 連線至 SQL。

在 Azure 入口網站的建立期間設定 SQL

當您在 Azure 中使用邏輯應用程式 (標準) 資源類型建立邏輯應用程式時,您可以將 SQL 設定為儲存體提供者。

  1. Azure 入口網站中,使用您的 Azure 帳戶登入。

  2. 在 Azure 入口網站搜尋方塊中輸入 logic apps,然後選取 [邏輯應用程式]。

    螢幕擷取畫面:顯示 Azure 入口網站搜尋方塊,其中已選取「邏輯應用程式」搜尋字詞與「邏輯應用程式」類別。

  3. 在 [邏輯應用程式] 頁面上,選取 [新增]。

  4. 在 [建立邏輯應用程式] 頁面的 [基本資訊] 索引標籤上,提供下列有關邏輯應用程式資源的資訊:

    屬性 必要 描述
    訂用帳戶 <Azure-subscription-name> 要用於邏輯應用程式的 Azure 訂用帳戶。
    資源群組 <Azure-resource-group-name> 您在其中建立邏輯應用程式和相關資源的 Azure 資源群組。 此資源名稱在各區域中必須是唯一的,而且只能包含字母、數字、連字號 (-)、底線 (_)、括弧(()) 和句點 (.)。

    此範例會建立名為 Fabrikam-Workflows-RG 的資源群組。

    型別 標準 此邏輯應用程式資源類型會在單一租用戶 Azure Logic Apps 環境中執行,並使用標準使用量、計費和定價模式
    邏輯應用程式名稱 <logic-app-name> 用於邏輯應用程式的名稱。 此資源名稱在各區域中必須是唯一的,而且只能包含字母、數字、連字號 (-)、底線 (_)、括弧(()) 和句點 (.)。

    此範例會建立名為 Fabrikam-Workflows 的邏輯應用程式。

    注意:邏輯應用程式的名稱會自動取得尾碼 .azurewebsites.net,因為 [邏輯應用程式 (標準)] 資源是由單一租用戶 Azure Logic Apps 執行階段提供支援,其使用 Azure Functions 擴充性模型,並裝載為 Azure Functions 執行階段上的延伸模組。 Azure Functions 使用相同的應用程式命名慣例。

    發佈 Yes <deployment-environment> 邏輯應用程式的部署目的地。 根據預設,系統會選取要部署至單一租用戶 Azure Logic Apps 的 [工作流程]。 Azure 會建立空的邏輯應用程式資源,您必須在其中新增第一個工作流程。

    注意:目前,[Docker 容器] 選項在已啟用 Azure Arc 的 Kubernetes 叢集上需要有自訂位置,您可以搭配已啟用 Azure Arc 的 Logic Apps (預覽) 使用。 邏輯應用程式、自訂位置和叢集的資源位置必須全都相同。

    區域 <Azure-region> 用於建立資源群組和資源的位置。 此範例會將範例邏輯應用程式部署至 Azure,並使用美國西部

    - 如果您選取 [Docker 容器],請選取您的自訂位置。

    - 若要部署至必須先存在的 ASEv3 資源,請從 [區域] 清單中選取該環境資源。

    下列範例顯示 [建立邏輯應用程式] 頁面,其中包含 [基本] 索引標籤:

    螢幕擷取畫面:顯示 Azure 入口網站,以及含有 [基本] 索引標籤的 [建立邏輯應用程式] 頁面。

  5. 在您準備就緒後,選取 [下一步:主控]。 在 [主控] 索引標籤上,針對要用於邏輯應用程式的儲存體解決方案和主控方案,提供下列相關資訊。

    屬性 必要 描述
    儲存體類型 Yes SQL 和 Azure 儲存體 您想要用於工作流程相關成品和資料的儲存體類型。

    - 如果您先前已選取自訂位置作為區域,請選取 [SQL]。

    - 如果您先前已選取 Azure 區域或 ASEv3 位置,請選取 [SQL 和 Azure 儲存體]。

    注意:如果您要部署至 Azure 區域,則仍然需要 Azure 儲存體帳戶,用於在 Azure Logic Apps 平台上完成邏輯應用程式組態的一次性裝載。 工作流程的定義、狀態、執行歷程記錄和其他執行階段成品皆會儲存在 SQL 資料庫中。

    若要部署至裝載於 Azure Arc 叢集上的自訂位置,您只需要 SQL 作為儲存體提供者。

    儲存體帳戶 <Azure-storage-account-name> 要用於儲存體交易的 Azure 儲存體帳戶

    此資源名稱在各區域中必須是唯一的,而且有 3-24 個字元 (僅限數字和小寫字母)。 選取現有的帳戶,或建立新的帳戶。

    此範例會建立名為 fabrikamstorageacct 的儲存體帳戶。

    SQL 連接字串 Yes <sql-connection-string> 您的 SQL 連接字串目前僅支援 SQL 驗證,而不支援 OAuth 或受控識別驗證。

    注意:請確定您輸入正確的連接字串,因為 Azure 入口網站不會為您驗證此字串。

    方案類型 Yes <hosting-plan> 用來部署邏輯應用程式的主控方案。

    如需詳細資訊,請檢閱主控方案和定價層

    Windows 方案 Yes <plan-name> 要使用的方案名稱。 選取現有的方案名稱,或提供新方案的名稱。

    此範例使用名稱 Fabrikam-Service-Plan

    SKU 和大小 Yes <pricing-tier> 要用於邏輯應用程式的定價層。 您的選取項目會影響邏輯應用程式和工作流程所使用的定價、計算、記憶體和儲存體。

    若要變更預設定價層,請選取 [變更大小]。 然後,您可以根據所需的工作負載,選取其他定價層。

    如需詳細資訊,請檢閱主控方案和定價層

    下列範例顯示 [建立邏輯應用程式] 頁面,其中包含 [主控] 索引標籤:

    螢幕擷取畫面:顯示 Azure 入口網站,以及含有 [裝載] 索引標籤的 [建立邏輯應用程式] 頁面。

  6. 完成「在 Azure 入口網站中使用單一租用戶 Azure Logic Apps (標準) 建立整合工作流程」中的其餘建立步驟。

當您完成步驟後,新的邏輯應用程式資源和工作流程會在 Azure 中上線,並使用您的 SQL 資料庫作為儲存體提供者。

在 Visual Studio Code 中設定本機開發的 SQL

下列步驟示範如何在 Visual Studio Code 中將 SQL 設定為本機開發和測試的儲存體提供者:

  1. 設定開發環境以使用單一租用戶 Azure Logic Apps。

    1. 符合必要條件,以在 Visual Studio Code 中使用 Azure Logic Apps (標準) 延伸模組。

    2. 設定 Visual Studio Code 以使用 Azure Logic Apps (標準) 延伸模組。

    3. 在 Visual Studio Code 中,連線至您的 Azure 帳戶建立空白邏輯應用程式專案

  2. 在 Visual Studio Code 中,開啟 [總管] 窗格 (如尚未開啟)。

  3. 在 [總管] 窗格中,於邏輯應用程式專案的根目錄中,將滑鼠指標移至所有專案檔案和資料夾下的任何空白區域,開啟快捷方式功能表,然後選取 [針對邏輯應用程式專案使用 SQL 儲存體]。

    螢幕擷取畫面:顯示 Visual Studio Code、Explorer 窗格,以及空白區域中專案根目錄上的滑鼠指標、開啟的捷徑功能表,且已選取 [針對邏輯應用程式專案使用 SQL 儲存體]。

  4. 出現提示時,輸入您的 SQL 連接字串。 您可以選擇使用本機 SQL Express 執行個體,或任何您擁有的其他 SQL 資料庫。

    螢幕擷取畫面:顯示 Visual Studio Code 和 SQL 連接字串提示。

    確認之後,Visual Studio Code 在專案的 local.settings.json 檔案中建立下列設定。 您可以隨時更新此設定。

    螢幕擷取畫面:顯示 Visual Studio Code、邏輯應用程式專案,並開啟含有 SQL 連接字串設定的

在部署期間從 Visual Studio Code 設定 SQL

您可以將邏輯應用程式專案從 Visual Studio Code 直接發佈至 Azure。 此動作會使用邏輯應用程式 (標準)資源類型來部署邏輯應用程式專案。

  • 如果您要在 Azure 中將專案發佈為新的邏輯應用程式 (標準) 資源,而且您想要使用 SQL 作為儲存體提供者,請在發佈應用程式時輸入您的 SQL 連接字串。 如需完整步驟,請遵循針對新的邏輯應用程式部署設定 SQL

  • 如果您已設定 SQL 設定,則可以將邏輯應用程式專案發佈至 Azure 中已部署的邏輯應用程式 (標準) 資源。 此動作會覆寫您現有的邏輯應用程式。

    注意

    本機 SQL Express 不適用於 Azure 中部署和裝載的邏輯應用程式。

針對新的邏輯應用程式 (標準) 資源部署設定 SQL

  1. 在 Visual Studio Code 活動列上,選取 [Azure] 圖示。

  2. 在 [Azure: Logic Apps (標準)] 窗格工具列上,選取 [部署至邏輯應用程式]。

    螢幕擷取畫面:顯示 [Azure: Logic Apps (標準)] 窗格且已選取 [部署至邏輯應用程式] 圖示。

  3. 如果出現提示,請選取要用於邏輯應用程式部署的 Azure 訂用帳戶。

  4. 從 Visual Studio Code 開啟的清單中,請務必選取 [在 Azure 進階中建立新的邏輯應用程式 (標準)] 的進階選項。 否則,系統不會提示您設定 SQL。

    螢幕擷取畫面:顯示已選取 [在 Azure 進階中建立新的邏輯應用程式 (標準)] 部署選項。

  5. 出現提示時,請為新的邏輯應用程式提供全域唯一的名稱,這是要用於邏輯應用程式 (標準) 資源的名稱。 此範例會使用 Fabrikam-Workflows-App

    螢幕擷取畫面:提示您在邏輯應用程式中使用全域唯一的名稱。

  6. 選取邏輯應用程式的位置。 您也可以開始輸入以篩選清單。

    • 若要部署至 Azure,請選取您要部署的 Azure 區域。 如果您先前已建立 App Service 環境 v3 (ASEv3) 資源,而且想要在該處部署,請選取您的 ASEv3。

    • 若要部署至已啟用 Azure Arc 的 Logic Apps,請選取您先前設定的自訂位置。

    下列範例顯示篩選為美國西部的位置清單。

    螢幕擷取畫面:提示選取可用的 Azure 區域作為部署位置,若要進行 Azure Arc 部署,則選取自訂位置。

  7. 選取新邏輯應用程式的主控方案類型。

    1. 如果您選取 ASEv3 作為應用程式的位置,請選取 [App Service 方案],然後選取您的 ASEv3 資源。 否則,請選取 [工作流程標準]。

      螢幕擷取畫面:提示您選取 [工作流程標準] 或 [App Service 方案]。

    2. 建立方案的名稱,或選取現有的方案。

      此範例會選取 [建立新的 App Service 方案],因為沒有現有的方案可供使用。

      螢幕擷取畫面:提示您選取 [建立新的 App Service 方案],建立主控方案的名稱。

  8. 提供主控方案的名稱,然後選取所選方案的定價層。

    如需詳細資訊,請檢閱主控方案和定價層

  9. 當系統提示您輸入 Azure 資源群組時,若要獲得最佳效能,請選取與部署專案相同的 Azure 資源群組。

    注意

    雖然您可以建立或使用不同的資源群組,但這樣做可能會影響效能。 如果您建立或選擇不同的資源群組,但在出現確認提示之後取消,您的部署也會取消。

  10. 當系統提示您選取邏輯應用程式的儲存體帳戶時,請選擇下列其中一個選項:

    • 如果您先前已選取自訂位置,請選取 [SQL] 選項。

    • 如果您想要部署至 Azure,請選取 [SQL 和 Azure 儲存體] 選項。

      注意

      僅當進行 Azure 部署時才需要此選項。 在 Azure 中,需要 Azure 儲存體才能在 Azure Logic Apps 平台上完成邏輯應用程式設定的一次性裝載。 進行中的工作流程狀態、執行歷程記錄和其他執行階段成品會儲存在 SQL 資料庫中。

      若要部署至裝載於 Azure Arc 叢集上的自訂位置,您只需要 SQL 作為儲存體提供者。

  11. 出現提示時,如果可用,請選取 [建立新的儲存體帳戶] 或現有的儲存體帳戶。

    螢幕擷取畫面:顯示 [Azure: Logic Apps (標準)] 窗格,並提示您建立或選取儲存體帳戶。

  12. 在 SQL 儲存體確認提示中,選取 [是]。 在連接字串提示字元中,輸入您的 SQL 連接字串。

    注意

    請確定您輸入正確的連接字串,因為 Visual Studio Code 不會為您驗證此字串。

    螢幕擷取畫面:顯示 Visual Studio Code 和 SQL 連接字串提示。

  13. 完成「發佈至新的邏輯應用程式 (標準) 資源」中的其餘部署步驟。

當您完成步驟後,新的邏輯應用程式資源和工作流程會在 Azure 中上線,並使用您的 SQL 資料庫作為儲存體提供者。

驗證部署

邏輯應用程式 (標準) 資源部署至 Azure 之後,您可以檢查您的設定是否正確:

  1. Azure 入口網站中,開啟您的邏輯應用程式資源。

  2. 在資源瀏覽功能表的 [設定] 底下,選取 [設定]。

  3. 在 [設定] 窗格的 [應用程式設定] 底下,尋找 Workflows.Sql.ConnectionString 應用程式設定,並確認您的 SQL 連接字串顯示且正確無誤。

  4. 在您的 SQL 環境中,確認已使用以 'dt' 和 'dq' 開頭的結構描述名稱所建立 SQL 資料表。

例如,下列螢幕擷取畫面顯示使用單一工作流程為邏輯應用程式資源建立的單一租用戶 Azure Logic Apps 執行階段資料表:

螢幕擷取畫面:顯示單一租用戶 Azure Logic Apps 執行階段建立的 SQL資料表。

單一租用戶 Azure Logic Apps 服務也會建立使用者定義的資料表類型。 例如,下列螢幕擷取畫面顯示使用單一工作流程為邏輯應用程式資源建立的單一租用戶 Azure Logic Apps 執行階段使用者定義資料表類型:

螢幕擷取畫面:顯示單一租用戶 Azure Logic Apps 執行階段建立的 SQL 使用者定義資料表類型。

下一步