共用方式為


使用 DevOps 和 GraphQL API 建立應用程式

✅適用於:Microsoft Fabric 中的 SQL 資料庫

在本教學課程的本節中,您將使用您已建立的資產來建立 Web 應用程式,讓用戶選取受中斷影響的區域,然後查看該區域中的其他供應商,以警示公司任何進一步的供應鏈中斷。 您將在您的資料上建立 GraphQL 端點,然後建立可在本機或雲端部署的 ASP.NET 應用程式。

軟體開發專案牽涉到開發人員作業 (DevOps) 工作,其中一項是原始檔控制。 您將把您建立的項目放置於原始碼控制下,以開始此部分。

本文提供一系列實用的案例,以根據 Fabric 中的 SQL 資料庫建立應用程式。

必要條件

在 Fabric 中使用 Azure DevOps 進行 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 環境中執行所有步驟。

  1. 在教學課程的 [工作區] 檢視中,確定您的工作區已設定為在原始檔控制之下,且所有物件都顯示 已同步

  2. 在 [工作區] 檢視中,您會看到 git 圖示、您選取的 Git 分支,以及上次與版本控制同步工作區的訊息。 在日期和時間旁邊,您會看到 Azure DevOps 環境中特定位置的標識碼連結。 開啟該連結以繼續。

    此螢幕快照顯示工作區中 Azure DevOps 環境位置的連結。

  3. 如有要求,請登入您的 Azure DevOps 環境。

  4. 進入 Azure DevOps 環境之後,選取總管窗格中的 [檔案] 項目。 物件會與 Fabric 中的 SQL 資料庫同步處理,並顯示存放庫。

  5. 展開,接著展開,然後展開,最後展開物件。

    顯示 Azure DevOps 中供應商資料庫物件的螢幕快照。

請注意物件內容中數據表的 T-SQL 定義。 在生產程式代碼撰寫環境中,會使用Visual Studio或Visual Studio Code等開發工具來改變此物件。 在任何情況下,該資料庫對象的定義都會複製到已鏡像當前資料庫狀態的存放庫。 讓我們使用 Azure DevOps 原始檔控制,在下一個教學課程步驟中對資料庫對象進行一些變更。

  1. 找出 [Fax] 欄定義行,然後選取 [編輯] 按鈕。 將資料列定義編輯為 [Fax] NVARCHAR (255) NULL,

  2. 選取 [ 認可] 按鈕。

    此螢幕快照顯示編輯 Azure DevOps 內供應商數據表中的傳真數據行定義。

  3. 填寫出現的 [ 認可 ] 消息框,然後選取 [ 認可] 按鈕。 請嘗試描述版本控制中的每個變更,為了您和團隊的利益。

  4. 提交會將變更寫入儲存庫。

  5. 切換回 Fabric 入口網站中的 SQL 資料庫,然後選取 [原始檔控制]。

  6. 您有一個擱置中的更新。 生產環境中,您將審查這些變更。 請選取 全部更新 按鈕。 更新可能需要一些時間。

  7. 在網狀架構名稱中選取 SQL 資料庫。 在 SQL 資料庫中開啟新的查詢視窗。

  8. 複製並貼上下列 T-SQL 程式代碼,以檢視資料庫中資料表的變更:

    SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'Suppliers';
    
  9. 輸入下列 T-SQL 程式代碼,以查詢以將名為 Notes 的數據行新增至 Suppliers 數據表。 僅反白顯示該程式碼的該區段,然後選取 [ 執行] 按鈕:

    ALTER TABLE Suppliers ADD Notes NVARCHAR(MAX);
    
  10. 現在回到 Fabric 門戶網站中的教學工作區。

  11. 選取 [原始檔控制] 按鈕,注意您的系統顯示的是 變更 要求,而不是 更新。 選取物件名稱旁邊的複選框,然後選取 [ 認可] 按鈕。

  12. 系統會認可查詢編輯器中所做的變更,而您可以返回 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 資訊,請參閱《 什麼是 Microsoft Fabric API for GraphQL?》

您可以直接從 Fabric SQL 查詢編輯器內建置 GraphQL API。 網狀架構會根據您的資料自動建置 GraphQL 架構,而應用程式已準備好在幾分鐘內連線。

建立適用於 GraphQL 的 API

若要建立要用於應用程式的 GraphQL API:

  1. 開啟教學課程資料庫入口網站。

  2. 選取 [ 新增 ] 按鈕,然後選取 [GraphQL 的 API]。

  3. 在項目的名稱中輸入supplier_impact_gql,然後選取建立

  4. 您會看到 [選擇資料] 面板。 捲動直到您找到 SupplyChain.vProductsBySuppliers,這是 您稍早在本教學課程中建立的檢視。 選取它。

    顯示檢視中 [選擇數據預覽] 的螢幕快照。

  5. 選取 [ 載入] 按鈕。

  6. 在 [ Query1] 面板中,將您在那裡看到的文字取代為下列 GraphQL 查詢字串:

    query { vProductsbySuppliers(filter: { SupplierLocationID: { eq: 7 } }) { items { CompanyName SupplierLocationID ProductCount } } }
    
  7. 選取 執行 按鈕,在 查詢1 視窗中。 GraphQL 查詢的結果會以 JSON 格式傳回至 [結果 ] 視窗。

    GRAPHQL 查詢和 SQL 資料庫結果集的螢幕快照。

  8. 選擇功能區中的複製端點按鈕。

  9. 當 [複製連結] 面板出現時,請選取 [複製] 按鈕。 將此字串儲存在記事本或其他位置,以供本教學課程的範例應用程式使用。 例如,其看起來會類似: 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 端點中的查詢。

  1. 為您的作業系統安裝適當的 .NET SDK。
  2. 開啟此位置中的資源,並遵循您在那裡看到的所有步驟。

本教學課程中應用程式的範例螢幕快照如下:

網頁瀏覽器的螢幕快照,其中顯示 Azure 網站中的範例應用程式。

網頁瀏覽器的螢幕截圖,顯示一個範例 GraphQL 網站的查詢結果:依供應商分類的產品數量。

後續步驟