在本教學課程中,您會從現有的適用於 NoSQL 的 Azure Cosmos DB 帳戶設定 Fabric 鏡像資料庫。
鏡像會以累加方式將 Azure Cosmos DB 資料近乎即時地複寫到 Fabric OneLake,而不會影響交易工作負載的效能或耗用要求單位 (RU)。 您可以使用 DirectLake 模式,直接在 OneLake 中的資料上建置 Power BI 報表。 您可以在 SQL 或 Spark 中執行臨機操作查詢、使用筆記本建置資料模型,以及使用 Fabric 中的內建 Copilot 和進階 AI 功能來分析資料。
先決條件
- 現有的適用於 NoSQL 的 Azure Cosmos DB 帳戶。
- 如果您沒有 Azure 訂用帳戶,請 免費試用適用於 NoSQL 的 Azure Cosmos DB。
- 如果您有現有的 Azure 訂用帳戶,請 建立新的適用於 NoSQL 的 Azure Cosmos DB 帳戶。
- 現有的 Fabric 容量。 如果您沒有現有的容量,請 啟動 Fabric 試用版。 鏡像可能無法在某些 Fabric 區域中使用。 如需詳細資訊,請參閱 支援的區域。
小提示
建議使用可快速從備份中恢復的現有 Azure Cosmos 資料庫測試或開發副本。
設定您的 Azure Cosmos DB 帳戶
首先,請確定來源 Azure Cosmos DB 帳戶已正確設定為搭配 Fabric 鏡像使用。
在 Azure 入口網站 中流覽至您的 Azure Cosmos DB 帳戶。
請確定已啟用連續備份。 如果未啟用,請遵循將 現有的 Azure Cosmos DB 帳戶移轉至連續備份 的指南,以啟用連續備份。 在某些情況下,此功能可能無法使用。 如需詳細資訊,請參閱 資料庫和帳戶限制。
請確定網路選項已設定為所有網路的公用網路存取。 如果沒有,請遵循設定 Azure Cosmos DB 帳戶的網路存取中的指南。
建立鏡像資料庫
現在,建立鏡像資料庫,作為複寫資料的目標。 如需詳細資訊,請參閱鏡 像的預期內容。
流覽至 Fabric 入口網站 首頁。
開啟現有的工作區或建立新的工作區。
在導覽功能表中,選取 [建立]。
選擇 「建立」,找到 資料倉儲 區塊,然後選擇 「鏡像 Azure Cosmos DB」。
提供鏡像資料庫的名稱,然後選取 [建立]。
連線到來源資料庫
接下來,將來源資料庫連線到鏡像資料庫。
在 [ 新增連線 ] 區段中,選取 [ 適用於 NoSQL 的 Azure Cosmos DB]。
提供適用於 NoSQL 的 Azure Cosmos DB 帳戶的認證,包括下列項目:
帳號憑證 價值觀 Azure Cosmos DB 端點 來源帳戶的 URL 端點。 連線名稱 連線的唯一名稱。 驗證類型 選取 [帳戶金鑰] 或 [組織帳戶]。 帳戶金鑰 來源帳戶的讀寫金鑰。 組織帳戶 來自 Microsoft Entra ID 的存取權杖。 備註
針對 Microsoft Entra ID 驗證,需要下列 RBAC 權限:
Microsoft.DocumentDB/databaseAccounts/readMetadataMicrosoft.DocumentDB/databaseAccounts/readAnalytics
如需詳細資訊,請參閱 資料平面角色型存取控制文件。
如需自動套用自訂角色型存取控制角色的腳本範例,請參閱
rbac-cosmos-mirror.shazure-samples/azure-cli-samples。選擇 連線。 然後,選取要鏡像的資料庫。 或者,選取要鏡射的特定容器。
啟動鏡像程序
選取 [鏡像資料庫]。 鏡像現在開始了。
等待兩到五分鐘。 然後,選取 [監視複寫] 以查看複寫動作的狀態。
幾分鐘後,狀態應該會變更為 [執行中],這表示容器正在同步處理。
小提示
如果您找不到容器和對應的複寫狀態,請等待幾秒鐘,然後重新整理窗格。 在極少數情況下,您可能會收到暫時性錯誤訊息。 您可以放心地忽略它們並繼續刷新。
當鏡像完成容器的初始複製時, 上次重新整理 欄中會出現日期。 如果成功抄寫資料,則總 列欄 會包含抄寫的項目數目。
監視織體鏡像
現在您的資料已啟動並順利運行,Fabric 平台提供各種可用的分析場景。
設定 Fabric Mirroring 之後,系統會自動導覽至 [複寫狀態 ] 窗格。
在這裡,監視複製的目前狀態。 如需有關複寫狀態的更多信息和細節,請參閱 監控 Fabric 鏡像資料庫複寫。
從 Fabric 查詢來源資料庫
使用 Fabric 入口網站來探索 Azure Cosmos DB 帳戶中已存在的資料,並查詢來源 Cosmos DB 資料庫。
流覽至 Fabric 入口網站中的鏡像資料庫。
選取 [ 檢視],然後選取 [ 來源資料庫]。 此動作會開啟 Azure Cosmos DB 資料總管,其中包含來源資料庫的唯讀檢視。
選取容器,然後開啟操作功能表並選取 新增 SQL 查詢。
執行任何查詢。 例如,用於
SELECT COUNT(1) FROM container計算容器中的項目數量。備註
來源資料庫上的所有讀取都會路由至 Azure,並消耗帳戶上配置的要求單位 (RU)。
分析目標鏡像資料庫
現在,使用 T-SQL 來查詢現在儲存在 Fabric OneLake 中的 NoSQL 資料。
流覽至 Fabric 入口網站中的鏡像資料庫。
從 鏡像 Azure Cosmos DB 切換至 SQL 分析端點。
來源資料庫中的每個容器都應該在 SQL 分析端點中表示為倉儲資料表。
選取任何資料表,開啟操作功能表,然後選取 [新增 SQL 查詢],最後選取 [ 選取前 100 個]。
查詢會執行,並在選取的資料表中傳回 100 筆記錄。
開啟相同資料表的內容功能表,然後選取 [新增 SQL 查詢]。 撰寫使用彙總 (例如
SUM、COUNT、MIN或MAX) 的範例查詢。 聯結倉儲中的多個資料表,以跨多個容器執行查詢。備註
例如,此查詢會跨多個容器執行:
SELECT d.[product_category_name], t.[order_status], c.[customer_country], s.[seller_state], p.[payment_type], sum(o.[price]) as price, sum(o.[freight_value]) freight_value FROM [dbo].[products] p INNER JOIN [dbo].[OrdersDB_order_payments] p on o.[order_id] = p.[order_id] INNER JOIN [dbo].[OrdersDB_order_status] t ON o.[order_id] = t.[order_id] INNER JOIN [dbo].[OrdersDB_customers] c on t.[customer_id] = c.[customer_id] INNER JOIN [dbo].[OrdersDB_productdirectory] d ON o.product_id = d.product_id INNER JOIN [dbo].[OrdersDB_sellers] s on o.seller_id = s.seller_id GROUP BY d.[product_category_name], t.[order_status], c.[customer_country], s.[seller_state], p.[payment_type]此範例假設您的資料表和資料行的名稱。 撰寫 SQL 查詢時,請使用您自己的資料表和資料行。
選取查詢,然後選取 [另存為檢視]。 為視圖提供唯一的名稱。 您可以隨時從 Fabric 入口網站存取此檢視。
返回 Fabric 入口網站中的鏡像資料庫。
選取 新增視覺查詢。 使用查詢編輯器來建置複雜的查詢。
在 SQL 查詢或檢視上建置 BI 報告
- 選取查詢或檢視,然後選取 [探索此資料 (預覽版)]。 此動作會直接使用 OneLake 鏡像資料上的 Direct Lake 探索 Power BI 中的查詢。
- 視需要編輯圖表並儲存報告。
小提示
您也可以選擇性地使用 Copilot 或其他增強功能來建置儀表板和報告,而無需任何進一步的資料移動。
其他範例
深入瞭解如何在 Fabric 中存取和查詢鏡像的 Azure Cosmos DB 資料:
- 如何:查詢 Azure Cosmos DB 中 Microsoft Fabric 鏡像資料庫中的巢狀資料
- 如何:在 Lakehouse 中存取 Azure Cosmos 資料庫的鏡像資料,以及從 Microsoft Fabric 中的筆記型電腦存取資料
- 如何將 Azure Cosmos DB 的鏡像資料與其他鏡像資料庫在 Microsoft Fabric 中進行連結