瞭解 Git 整合和部署管線如何在 Microsoft Fabric 中使用適用於 GraphQL 的 API。 本文可協助您瞭解如何設定存放庫的連線、管理 GraphQL 的 API,以及跨不同環境部署它們。
備註
GraphQL 原始檔控制和部署的 API 目前為 預覽狀態。
先決條件
- 您必須在 Fabric 中具有 GraphQL 的 API。 如需詳細資訊,請參閱 在 Fabric 中建立 GraphQL 的 API,並新增資料。
概觀
Fabric 透過兩個主要元件提供 CI/CD 的強大工具(持續整合和持續部署)和開發生命週期管理: Git 整合 (CI) 和 部署管線 (CD)。 工作區可作為 Git 同步處理和部署階段的中央元件。
Git 整合 (CI):同步處理工作區專案(例如程式代碼、設定、API)與 版本控制存放庫、啟用版本控制,以及透過 Git 進行變更追蹤。
部署管線(CD):可用來建立多個階段(例如開發、測試、生產環境),並且這些階段能與工作區連結。 每個階段中支援的項目會自動複製到後續階段,並且在工作區的變更會在發行管線中觸發部署。 您可以設定管線,以確保在環境之間有效率地測試及部署變更。
Fabric 支援針對常見案例量身打造的各種 CI/CD 工作流程。 如需詳細資訊,請參閱 Fabric 中的 CI/CD 工作流程選項。
備註
部署期間只會複製元數據,而數據本身不會被複製。
工作區中的專案會儲存在相關聯的 Git 存放庫中,做為基礎結構即程式代碼 (IaC)。 存放庫中的程式碼變更可以觸發管線中的部署。 這個方法可讓您讓程式代碼變更自動跨階段複寫,以供測試和生產版本之用使用。
數據源驗證方法
在本節中,您將瞭解將數據源連線至適用於 GraphQL 的 API 的驗證方法,並了解它們對於 GraphQL API 與其開發管線中已連線數據源之間的自動繫結的影響。 您可以在 部署管線程式中深入了解自動繫結。
有兩個選項可用來將數據源連線至適用於 GraphQL 的 API:
第一個選項 Single Sign-On (SSO)可讓您連線到 Fabric 內的數據源。 在此情況下,當您在原始工作區中使用單一登錄方法將數據源連接到 GraphQL 時(例如開發階段),數據源和 GraphQL 專案將會部署到管線中的目標工作區(例如測試階段),而目標工作區中的 GraphQL 將會自動連接到目標工作區中已部署的本機數據源(請參閱下圖)。 使用 SSO 並透過 SQL Analytics 端點連線到資料來源時,有特定限制,如需詳細資訊,請參閱 **目前的限制。
第二個選項 「已儲存認證」可讓您連線到 Fabric 外部的外部數據源,以及 Fabric 內的數據源。 不過,儲存憑證的方法不支援自動系結。 這表示如果您在原始工作區(開發階段)中使用已儲存認證將數據源聯機到 GraphQL,數據源將會部署到管線中的目標工作區(測試階段)。 不過,目標工作區中的 GraphQL 專案會透過 [已儲存的認證] 維持連接到原始工作區 (開發階段) 中的數據源,而不是自動系結至目標工作區中的本機數據源。 (請參閱下圖)
此外,如果使用 Saved Credential 方法連接到數據源,開發人員必須能夠存取已儲存的認證資訊,才能成功部署 GraphQL 專案。
備註
如果原始工作區 (開發階段) 中的 GraphQL API 連線到位於不同工作區的數據源,則目標工作區中已部署的 GraphQL API(測試階段)會維持連線到位於不同工作區的數據源,而不論使用哪一種驗證方法將數據源連線到您的 GraphQL API。 (請參閱下圖)
適用於 GraphQL Git 整合的 API
適用於 GraphQL 的網狀架構 API 提供原始檔控制的 Git 整合。 透過 Git 整合,您可以備份和設定 GraphQL API 的版本、視需要還原為先前的階段、使用 Git 分支單獨共同作業或單獨工作,以及完全在 Fabric 中管理 GraphQL 生命週期的 API。
設定連線:
從工作區 設定中,您可以輕鬆地設定存放庫的連線,以認可和同步變更。 若要設定連線,請參閱 開始使用 Git 整合。 連線之後,您的專案,包括 GraphQL 的 API,會出現在 [原始檔] 控制面板 中。
成功將 GraphQL 實例的 API 認可至 Git 存放庫之後,您會在存放庫中看到 GraphQL 資料夾結構。 您現在可以執行未來的作業,例如 建立提取要求。
Git 中的 GraphQL 表示法:
下圖是 Git 存放庫中 GraphQL 專案之每個 API 的檔案結構範例:
當您將 GraphQL 項目的 API 提交到 Git 存放庫時,GraphQL API 的定義會被儲存。 當您同步回到網狀架構工作區時,此方法支援精確的復原:
您可以在 Fabric 控制平面 API 檔中找到 GraphQL API 定義格式、語法和範例的詳細資訊:
部署管線中 GraphQL 的 API
使用下列步驟,使用部署管線完成適用於 GraphQL 部署的 API。
建立新的部署管線,或開啟現有的部署管線。 如需詳細資訊,請參閱 開始使用部署管線。
根據您的部署目標,將工作區指派給不同的階段。
選取、 檢視和比較專案,包括不同階段之間的 GraphQL API,如下列範例所示。 醒目提示的區域,指出上一個階段與目前階段之間的已變更項目計數。
- 選取需要部署的專案。 選取 [部署] 以跨開發、測試和生產階段部署所選專案(GraphQL 的 API 及其連線數據源)。
下一則訊息會快顯,確認您要部署的專案。 選取 [部署 ] 以確認並繼續部署程式。
目前的限制
網狀架構 CI/CD 不支援子項目的 自動系結 。 這表示,如果 GraphQL 的 API 連線到 SQL 分析端點做為原始工作區中數據源的子系(例如開發階段),則譜系不會傳輸到目標工作區(例如測試階段)。 因此,目標工作區中已部署的 GraphQL API(例如測試階段)仍會連線到原始工作區中的 SQL 分析端點(例如開發階段)。