使用 DevOps 和 GraphQL API 建立應用程式
✅適用於:Microsoft Fabric 中的 SQL 資料庫
在本教學課程的本節中,您將使用您已建立的資產來建立 Web 應用程式,讓用戶選取受中斷影響的區域,然後查看該區域中的其他供應商,以警示公司任何進一步的供應鏈中斷。 您將透過您的資料建立 GraphQL 端點,然後建立可在本機部署或雲端提供者的 ASP.NET 應用程式。
軟體開發專案牽涉到開發人員作業 (DevOps) 工作,其中一項是原始檔控制。 您將在原始檔控制下放置您所建立的專案,以開始本節。
本文提供一系列實用的案例,以根據 Fabric 中的 SQL 資料庫建立應用程式。
必要條件
- 完成本教學課程中的所有先前步驟。
- 啟用 Git 整合租用戶設定。
- 為 GraphQL 啟用 API 的租使用者管理員設定。
- 在 Microsoft Azure DevOps 中建立組織和專案。
使用 Azure DevOps 在 Fabric 中 CI/CD
在本教學課程的這個部分中,您將瞭解如何 使用 Azure DevOps 在 Microsoft Fabric 中使用 SQL 資料庫。
Microsoft Fabric 中的 SQL 資料庫具有原始檔控制整合,可讓 SQL 用戶追蹤一段時間和整個小組的資料庫物件定義:
小組可以將資料庫認可至原始檔控制,這會自動將即時資料庫轉換成已設定的原始檔控制存放庫中的程序代碼(Azure DevOps)。
小組可以從原始檔控制的內容更新資料庫物件,在將差異變更套用至資料庫之前,先驗證 Azure DevOps 中的程式碼。
如果您不熟悉 Microsoft Fabric 中的原始程式碼控制件,以下是建議的資源:
開始使用原始檔控制
完成這些必要條件之後,您可以讓工作區與 Azure DevOps 保持同步。 這可讓您將工作區中所做的任何變更認可認可至 Azure DevOps 分支,並在任何人建立 Azure DevOps 分支的新認可時更新工作區。
現在,您將使用 Azure DevOps 編輯資料庫中的其中一個物件,這會同時更新存放庫和資料庫物件。 您也可以直接在存放庫中編輯物件,或將其「推送」到該處,但在此情況下,請在 Azure DevOps 環境中執行所有步驟。
在教學課程 [工作區] 檢視中,確定您的工作區已設定為在原始檔控制之下,且所有對象都顯示 [已同步]。
在 [工作區] 檢視中,您會看到 git 圖示、您選取的分支,以及上次與原始檔控制同步處理工作區的相關訊息。 在日期和時間旁邊,您會看到 Azure DevOps 環境中特定位置的標識碼連結。 開啟該連結以繼續。
如有要求,請登入您的 Azure DevOps 環境。
在 Azure DevOps 環境內之後,選取 總管窗格中的 [檔案 ] 專案。 物件會與 Fabric 中的 SQL 資料庫同步處理,並顯示存放庫。
展開suppy_chain_analytics_database。SQLDatabase、dbo、Tables 和 Suppliers.sql 物件。
請注意物件內容中數據表的 T-SQL 定義。 在生產程式代碼撰寫環境中,會使用Visual Studio或Visual Studio Code等開發工具來改變此物件。 在任何情況下,該資料庫對象的定義都會復寫至您從資料庫目前狀態鏡像的存放庫。 讓我們使用 Azure DevOps 原始檔控制,在下一個教學課程步驟中對資料庫對象進行一些變更。
找出數據
[Fax]
行定義行,然後選取 [ 編輯] 按鈕。 將資料列定義編輯為[Fax] NVARCHAR (255) NULL,
。選取 [ 認可] 按鈕。
填寫出現的 [ 認可 ] 消息框,然後選取 [ 認可] 按鈕。 請嘗試描述原始檔控制中的每個變更,以取得您的和小組的優點。
認可會將變更寫入存放庫。
切換回 Fabric 入口網站中的 SQL 資料庫,然後選取 [原始檔控制]。
您有一個擱置中的更新。 在生產環境中,您將檢閱這些變更。 選取 [ 全部 更新] 按鈕。 更新可能需要一些時間。
在網狀架構名稱中選取 SQL 資料庫。 在 SQL 資料庫中開啟新的查詢視窗。
複製並貼上下列 T-SQL 程式代碼,以檢視資料庫中資料表的變更:
SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'Suppliers';
輸入下列 T-SQL 程式代碼,以查詢以將名為
Notes
的數據行新增至Suppliers
數據表。 僅反白顯示該程式碼的該區段,然後選取 [ 執行] 按鈕:ALTER TABLE Suppliers ADD Notes NVARCHAR(MAX);
現在回到 Fabric 入口網站中的工作區教學課程。
選取 [原始檔控制] 按鈕,並注意到您的系統會顯示 [變更] 要求,而不是 [更新]。 選取物件名稱旁邊的複選框,然後選取 [ 認可] 按鈕。
系統會認可查詢編輯器中所做的變更,而您可以返回 Azure DevOps 入口網站,並流覽至 [檔案 ] 區域和
dbo
[架構],然後 選取 [數據表 ] 和Suppliers
[物件] 以查看新的數據行。 (您可能需要重新整理頁面才能看到變更。
您現在已瞭解如何從 Azure DevOps 中的原始檔控制與 SQL 資料庫物件架構互動。 如需 Microsoft Fabric 中原始檔控制的詳細資訊,請參閱 Microsoft Fabric 中的 SQL 資料庫原始檔控制整合和 教學課程:Fabric 中的生命週期管理。
設定及設定 GraphQL API
線上到資料庫應用程式通常牽涉到為您的應用程式安裝一組連結庫,以使用與資料庫直接互動的表格式數據流 (TDS) 通訊協定。
Microsoft Fabric 包含 GraphQL 介面,不僅可用於資料庫,還包含多個數據源。 您也可以合併整合式數據檢視的這些來源。 GraphQL 是 API 的查詢語言,可讓您確切要求所需的數據,讓您更輕鬆地隨著時間發展 API 並啟用功能強大的開發人員工具。 它提供 API 中數據的完整且可理解的描述,讓客戶端能夠確切地要求所需的內容,而別無他法。 這可讓應用程式使用 GraphQL 快速且穩定,因為它們可控制其取得的數據,而不是伺服器。 您可以將 GraphQL 介面視為提供數據源內所含數據集的檢視。 您可以使用突變來查詢資料並變更資料。 您可以在此參考中深入瞭解 GraphQL。
您可以直接從 Fabric SQL 查詢編輯器內建置 GraphQL API。 網狀架構會根據您的資料自動建置 GraphQL 架構,而應用程式已準備好在幾分鐘內連線。
建立適用於 GraphQL 的 API
若要建立要用於應用程式的 GraphQL API:
開啟教學課程資料庫入口網站。
選取 [ 新增 ] 按鈕,然後選取 [GraphQL 的 API]。
輸入專案的 [名稱] 文字supplier_impact_gql,然後選取 [建立]。
您會看到 [選擇資料] 面板。 捲動直到您找到
SupplyChain.vProductsBySuppliers
,這是 您稍早在本教學課程中建立的檢視。 選取該連結。選取 [ 載入] 按鈕。
在 [ Query1] 面板中,將您在那裡看到的文字取代為下列 GraphQL 查詢字串:
query { vProductsbySuppliers(filter: { SupplierLocationID: { eq: 7 } }) { items { CompanyName SupplierLocationID ProductCount } } }
選取 [查詢1] 視窗中的 [執行] 按鈕。 GraphQL 查詢的結果會以 JSON 格式傳回至 [結果 ] 視窗。
選取功能區中的 [ 複製端點] 按鈕。
當 [複製連結] 面板出現時,請選取 [複製] 按鈕。 將此字串儲存在記事本或其他位置,以供本教學課程的範例應用程式使用。 例如,其看起來會類似:
https://api.fabric.microsoft.com/v1/workspaces/<work space id>/graphqlapis/<graph api id>/graphql
您的 GraphQL API 現在已準備好接受連線和要求。 您可以使用 API 編輯器來測試和建立 GraphQL 查詢原型,以及架構總管來驗證 API 中公開的資料類型和欄位。 如需詳細資訊,請參閱 在網狀架構入口網站中從 SQL 資料庫建立 GraphQL API。
建立 Web 應用程式以查詢數據
在本教學課程中,您已建立一個資料庫來儲存 Contoso 的銷售和產品,並使用 Transact-SQL 新增供應商和聯結實體。 您現在想要允許開發人員使用數據,而不需要學習 T-SQL,也可以讓他們在單一介面中查詢多個Microsoft Fabric 元件。 在本機執行此應用程式,其位於自我裝載的 .NET REST 介面中,以存取您在本教學課程中建立的 GraphQL 端點。 您也可以將此應用程式直接部署至Microsoft Azure 作為 Web 應用程式,或部署至您選擇的另一部 Web 伺服器。
在 Fabric API for GraphQL 中使用 SQL 資料庫建立 Web 應用程式
系統要求您建立一個應用程式,以顯示所有受影響的供應商,如果位置有供應鏈中斷,因為自然災害或其他中斷。 此程式代碼示範如何建立 ASP.NET 應用程式,以使用 GraphQL 查詢來存取您在教學課程最後一節中建立之 SQL In Fabric GraphQL 端點中的查詢。
- 為您的作業系統安裝適當的 .NET SDK。
- 開啟此位置中的資源,並遵循您在那裡看到的所有步驟。
本教學課程中應用程式的範例螢幕快照如下: