數據與 Logic Apps 和 SQL Server 整合

Azure API 管理
Azure Logic Apps
SQL Server

此解決方案會使用 Azure Logic Apps 將雲端數據整合到內部部署資料記憶體。

此架構說明如何使用 Azure API 管理、Azure 金鑰保存庫 中的秘密和 API 金鑰記憶體、透過內部部署數據網關聯機到 SQL Server,以及使用 Azure 監視器進行效能監視。 所有這些元件都會透過 Azure Logic Apps 協調流程整合。

架構

Architecture diagram showing how to use Logic Apps to respond to API calls by updating or accessing SQL Server.

此圖表包含兩個方塊,一個用於 Azure 元件,另一個用於內部部署元件。 Azure 方塊外部是標示為 JSON 的數據檔。 從 JSON 檔案指向 Azure 方塊內 API 管理 圖示的箭號。 第二個箭號會從 API 管理 圖示指向 Azure 方塊內的 Logic Apps 圖示。 三個箭號會遠離LogicApps圖示。 其中一個會導致 Azure 方塊內的 金鑰保存庫 圖示。 其中一個會導致兩個方塊之間的內部部署數據閘道圖示。 第三個會導致 Azure 方塊內的 Azure 監視器圖示。 另一個箭頭會從閘道指向內部部署方塊內的 SQL Server 圖示。 最後一個箭號會從 SQL Server 圖示指向內部部署方塊外部的人員。

下載此架構的 Visio 檔案

工作流程

  1. API 管理 接受以 HTTP 要求形式進行 API 呼叫。

  2. API 管理 安全地將 HTTP 要求路由傳送至 Logic Apps。

  3. 每個 HTTP 要求都會在 Logic Apps 中觸發執行:

    1. Logic Apps 會使用受保護的範本參數,從 Azure 金鑰保存庫 擷取資料庫認證。
    2. Logic Apps 使用傳輸層安全性 (TLS) 將資料庫認證和資料庫語句傳送至內部部署數據閘道。
  4. 內部部署數據閘道會連線到 SQL Server 資料庫以執行 語句。

  5. SQL Server 會儲存資料,並提供給使用者存取的應用程式。

  6. Azure 監視器會收集Logic Apps事件和效能的相關信息。

元件

此架構會使用下列元件:

  • Azure API 管理 為後端服務建立一致的現代化 API 閘道。 除了接受 API 呼叫並將其路由傳送至後端之外,此平臺也會驗證密鑰、令牌、憑證和其他認證。 API 管理 也會強制執行使用量配額和速率限制,以及記錄呼叫元數據。

  • Azure Logic Apps 會透過跨雲端連接應用程式和數據,將工作流程自動化。 此服務提供一種方式,以即時安全地存取和處理數據。 其無伺服器解決方案會負責建置、裝載、調整、管理、維護和監視應用程式。

  • 內部部署數據閘道可作為連接內部部署數據與Logic Apps等雲端服務的網橋。 一般而言,您會在專用的內部部署虛擬機上安裝閘道。 接著,雲端服務就可以安全地使用內部部署數據。

  • Azure 金鑰保存庫 會儲存及控制秘密的存取,例如令牌、密碼和 API 金鑰。 金鑰保存庫 也會建立和控制加密密鑰,並管理安全性憑證。

  • SQL Server 提供儲存和查詢結構化和非結構化數據的解決方案。 此資料庫引擎具有領先業界的效能和安全性。

  • Azure 監視器 會收集環境和 Azure 資源上的數據。 這項資訊有助於維護可用性和效能。 其他 Azure 服務,例如 Azure 儲存體Azure 事件中樞,也可以使用此診斷數據。 兩個數據平臺組成監視:

    • Azure 監視器記錄 會記錄並儲存記錄檔和效能數據。 針對 Logic Apps,此數據報含觸發程式事件、執行事件和動作事件的相關信息。
    • Azure 監視器計量 會定期收集數值。 針對 Logic Apps,此數據包含執行延遲、速率和成功百分比。

替代項目

此解決方案有一些替代方案:

  • 請考慮移轉至最新、完全受控的 Azure 資料庫服務,而不是使用 SQL Server 的內部部署實例。 Logic Apps 使用的 SQL Server 連接器也適用於 Azure SQL 資料庫Azure SQL 受控執行個體。 如需詳細資訊,請參閱 使用 Azure Logic Apps 將 SQL 資料庫的工作流程自動化。 若要開始使用移轉,請參閱 Azure 資料移轉服務

  • 針對複雜的自動化工作,請考慮使用 Azure Functions 而不是 Logic Apps。 這兩項服務都可讓您建立無伺服器工作流程。 Azure Functions 是一項計算服務,適用於執行自定義程式碼或複雜處理,或與其他服務整合。 Logic Apps 是一項雲端服務,適用於自動化和協調工作和商務工作流程。 它提供可視化設計工具,以及許多預先建置的連接器。 如需詳細資訊,請參閱 比較 Azure Functions 和 Azure Logic Apps

  • 若要簡化整合,請考慮使用 Power Automate 而不是Logic Apps。 如需詳細資訊,請參閱 比較 Microsoft Power Automate 和 Azure Logic Apps

  • Power Apps 也提供自動化工作流程的解決方案,這些工作流程牽涉到連線到內部部署數據源。

案例詳細資料

邏輯應用程式可以將 HTTP 要求資料儲存在 SQL Server 資料庫中。 因為 Logic Apps 可作為安全的 Azure API 管理 端點,因此對 API 的呼叫可能會觸發各種數據相關工作。 除了更新內部部署資料庫之外,您也可以傳送 Teams 或電子郵件訊息。

潛在的使用案例

使用此解決方案可將您用來回應 API 呼叫的數據整合工作自動化。

考量

這些考慮會實作 Azure Well-Architected Framework 的支柱,這是一組指導原則,可用來改善工作負載的品質。 如需詳細資訊,請參閱 Microsoft Azure Well-Architected Framework

可靠性

可靠性可確保您的應用程式可以符合您對客戶的承諾。 如需詳細資訊,請參閱 可靠性要素概觀。

若要獲得高可用性, 請將內部部署閘道新增至叢集 ,而不是安裝獨立閘道。

安全性

安全性可提供針對蓄意攻擊和濫用寶貴數據和系統的保證。 如需詳細資訊,請參閱 安全性要素概觀。

成本最佳化

成本優化是減少不必要的費用,並提升營運效率。 如需詳細資訊,請參閱 成本優化要素概觀。

下表提供使用不同層級預期輸送量的成本配置檔:

API 管理 Logic Apps 動作執行 Logic Apps 連接器執行 設定檔
基本 1,000/天 1,000/天 基本配置檔
標準 10,000 天/天 10,000 天/天 標準配置檔
Premium 100,000/天 100,000/天 進階版 配置檔

配置檔不包含 SQL Server 資料庫的成本。 若要調整參數,並探索在您的環境中執行此解決方案的成本,請使用 Azure 定價計算機

探索下列策略,以將LogicApps成本降至最低:

效能效益

效能效率是工作負載調整的能力,以符合使用者以有效率的方式滿足其需求。 如需詳細資訊,請參閱 效能效率要素概觀

透過Logic Apps 使用的無伺服器模型,服務會自動調整以符合需求。 但請注意 內部部署數據閘道的讀取和寫入作業限制。

參與者

本文由 Microsoft 維護。 原始投稿人如下。

主要作者:

若要查看非公用LinkedIn配置檔,請登入LinkedIn。

下一步