共用方式為


Lakehouse 部署管線和 git 整合

Lakehouse 與 Microsoft Fabric 中的生命週期管理功能整合,在整個產品生命週期中提供所有開發小組成員之間的標準化共同作業。 生命週期管理可持續將功能和 Bug 修正傳遞給多個環境,藉此促進有效的產品版本設定和發行程式。 若要深入瞭解,請參閱 什麼是 Microsoft Fabric 中的生命週期管理?

Git版本控制系統和部署管線追蹤了哪些內容?

下表總結了 Lakehouse 項目及其子項目,以及它們在 git 連接工作空間和部署管線中的支援情況。

項目/子項目 Git 部署管道 發行狀態 註釋
Lakehouse 元資料(顯示名稱、描述、邏輯 GUID) ✅ 被追蹤 ✅ 追蹤 GA 跨工作空間的原始碼控制識別碼
OneLake 快捷方式元資料 ✅ 已追蹤 ✅ 已追蹤 GA 儲存在 shortcuts.metadata.json 檔案中
外部捷徑:ADLS Gen2、S3、Dataverse 與 Google Cloud Storage ✅ 已追蹤 ✅ 跨階段同步 GA 所有階段的目標相同,除非用變數函式庫重新映射
外部捷徑:SharePoint、Azure blob storage、OneDrive ❌ 不被追蹤 ❌ 不會被覆寫 不支援 操作期間資料始終被保留
OneLake 內部捷徑 ✅ 已追蹤 ✅ 自動在不同階段間重新映射 GA 需要工作區中具有效性且可用的目標才能啟用
OneLake 安全資料存取角色元資料 ✅ 追蹤 ✅ 追蹤 Preview 儲存在 data-access-roles.json 檔案中
表格(Delta與非Delta) ❌ 不被追蹤 ❌ 不會被覆蓋 不支援 操作期間資料始終被保留
火花視角 ❌ 不被追蹤 ❌ 不會被覆蓋 不支援 操作期間資料始終被保留
文件區的資料夾 ❌ 不被追蹤 ❌ 不會被覆蓋 不支援 操作期間資料始終被保留

自選加入物件類型的體驗

Lakehouse 提供選擇加入的體驗,可啟用或停用 git 及部署管線中的追蹤物件類型。 要啟用體驗,請到 Lakehouse 設定中啟用想要追蹤的物件類型。

此功能帶來以下好處,原因有二:

  • 提供開發團隊彈性,根據其特定需求與工作流程,選擇在 git 和部署管線中追蹤哪些物件類型。 團隊可能想透過外部工具或腳本來協調物件類型。 此外,有些物件類型可能並非對部署流程中的所有階段都適用。
  • 逐步引入新的物件類型用於追蹤,讓團隊能調整現有的工作流程與自動化,再選擇更多物件類型。 這能防止現有工作流程與自動化系統的潛在中斷。

湖倉設定中選擇加入的體驗截圖。

在選擇加入或退出物件類型追蹤時,會應用以下行為:

  • 在選擇追蹤之前沒被追蹤的物件類型並同步變更到 git 後,該物件類型的當前元資料狀態會被序列化並儲存在 git 中。 該物件類型的未來變更會在部署管線中追蹤並同步於工作區間。
  • 在選擇不追蹤先前被追蹤的物件類型後,該物件類型元資料不再序列化或儲存在 git 中。 該物件類型的未來變更不會在部署管線中跨工作區被追蹤或同步。 git 中現有的元資料會被移除。
  • 新湖屋會預設包含所有物件類型,但預覽狀態的物件除外。
  • 現有的資料湖庫會保留目前的物件類型追蹤狀態,除非使用者更改。

ALM 追蹤定義存放在 git 湖屋資料夾下方的一個檔案 alm.settings.json 中。 這些設定可以直接在 git 儲存庫中更改和進行版本控制,方法是先更改 alm.settings.json 檔案,再將這些變更套用回工作區。

Lakehouse git 整合

Lakehouse 是一個項目,其中包含工作區中多個物件中所參考的中繼資料和資料。 Lakehouse 包含對表格、資料夾和捷徑的參考,作為主要可管理的資料容器項目。 從開發工作流程的觀點來看,下列相依物件可能會參考Lakehouse:

SQL 分析端點中繼資料與 Lakehouse 相關,並預設由 Git 更新程式管理。 由於主體 資料不會在 git 中追蹤,只會追蹤中繼資料。

Git 表示

下列 Lakehouse 資訊會在 Git 連線的工作區中串行化及追蹤:

  • 顯示名稱
  • 描述
  • 邏輯 guid

注意

追蹤的邏輯 GUID 是自動產生的跨工作區識別碼,代表項目及其原始檔控制表示法。

重要

目前的 git 中只有 Lakehouse 容器工件和本文第一部分提到的項目被追蹤。 [檔案] 區段中的 Delta 和非 Delta 數據表及資料夾不會在 git中被追蹤或建立版本。

Lakehouse 構件 git 與部署管道整合能力

可以使用以下功能:

  • 將 Lakehouse 工件物件元資料序列化為 git JSON 表示。
  • 直接套用變更或使用提取要求來控制上游或下游工作區和分支的變更。
  • 在 git 中會追蹤重新命名 Lakehouses。 更新重新命名的 Lakehouse 也會重新命名 SQL Analytics 端點。
  • 不會將任何動作套用至數據表和資料夾元資料,而且一律會保留這些項目的數據。
  • OneLake 快捷方式元數據 會保留在 git 中。

Microsoft Fabric 生命週期管理部署管線支援 Lakehouse。 它可啟用環境分割 最佳做法

Lakehouse 部署管線整合功能:

  • 跨開發、測試和生產工作區進行部署。
  • 在部署時,Lakehouse 可以移除為相依物件。 也支援在部署管線內容中對應不同的 Lakehouse。
    • 如果在部署管線設定期間未指定任何項目,則會在目標工作區中建立具有相同名稱的新空白 Lakehouse 物件。 筆記本和Spark作業定義會重新對應,以參考新工作區中的新Lakehouse物件。

    • 如果 Lakehouse 相依性設定為在部署管線設定期間參考不同的 Lakehouse,例如上游 Lakehouse,目標工作區中仍會建立具有相同名稱的新空白 Lakehouse 物件, 但 Notebooks 和 Spark 作業定義參考會保留至不同的 Lakehouse 要求。

    • SQL 分析端點和語意模型會布建為 Lakehouse 部署的一部分。

  • 您可以在部署管線內容中的工作區之間同步處理 Lakehouse 名稱的更新。

OneLake Shortcuts git 與部署管線整合功能

使用 git 與 Lakehouse 整合時,OneLake 捷徑的元資料會在 git 中被追蹤。 以下功能可用於 git 整合:

  • 數據表和檔案區段中的快捷方式定義會儲存在 git 中 lakehouse 資料夾下名為 shortcuts.metadata.json 的檔案中。
  • 系統會自動支援並追蹤下列作業:快捷方式 新增、刪除和更新。
  • 您可以變更 shortcuts.metadata.json 檔案,直接在 Fabric 使用者介面或 git 存放庫中執行作業。
  • 帶有內部目標的捷徑(OneLake 捷徑)會在 git 同步時自動更新。 為了讓快捷方式有效,這些參考必須是工作區中的有效目標。 如果在 lakehouse 資料表區段中定義的快捷方式目標無效,那些快捷方式會被移至 Unidentified 區段,直到參考得到解析為止。

重要

直接在 shortcuts.metadata.json 檔案中變更 OneLake 快捷方式屬性時,請小心。 當更新套用回工作區時,對屬性的不正確變更,特別是 GUID,可能會使 OneLake 快捷方式無效。

重要

從 git 來的更新會完全取代工作區中捷徑的狀態。 工作區中的所有快捷方式都會根據 Git 的傳入狀態來建立、更新或刪除。

使用 Lakehouse 部署 管線 時,OneLake Shortcuts 的元資料會部署在管線的各個階段。 部署管線可具備以下功能:

  • 快捷方式定義會跨部署管線中的階段進行同步處理。
  • 部署後,外部目標(ADLS Gen2、S3 等)的捷徑在所有階段都是相同的。
  • 相同工作區中具有內部目標的快捷方式(OneLake 快捷方式)會自動跨階段重新對應。 以數據倉儲和語意模型為目標的捷徑在部署期間不會重新映射。 數據表、資料夾和檔案不會在目標工作區中建立。 為了讓快捷方式有效,必須在部署之後,在目標工作區中建立這些參考。
  • 當需要將相同的快捷方式設定為在不同階段的不同位置為目標的情境下。 例如,在 [開發] 中,指向 Amazon S3 中的特定資料夾,然後在 Production 中指向 ADLS Gen2 中的不同資料夾。 建議的方法是在快捷方式定義中使用變數。 想了解更多關於變數函式庫以及如何在 Microsoft Fabric 中有效使用它,請閱讀《 什麼是變數函式庫?》。(預告) 文章。 另一個選項是,部署之後,可以手動更新 Lakehouse 平台中的 OneLake 快捷方式定義,或直接使用 OneLake 介面。

重要

部署會覆蓋目標工作區中捷徑的狀態。 目標 Lakehouse 中的所有快捷方式都會根據來源 Lakehouse 中的狀態更新或刪除。 目標 Lakehouse 中會建立新的快捷方式。 務必選擇「審查變更」來了解在來源和目標工作區之間部署的更改。

OneLake 安全資料存取角色的功能特性

  • OneLake 安全資料存取角色的定義會儲存在 git 中 lakehouse 資料夾下方的一個檔案 data-access-roles.json 中。 變更可以直接在 git 儲存庫中進行,方法是更改檔案, data-access-roles.json 然後將這些變更套用回工作區。
  • 以下操作會自動支援並追蹤: 新增、刪除及更新 資料存取角色。
  • 只有擁有管理員或成員角色的使用者才能將安全角色定義同步到 git。

下表描述了 OneLake 安全資料存取角色在 git 同步與部署管線操作期間,根據來源與目標工作區設定的行為:

來源工作區 目標工作空間 Git 整合 部署管線 描述
啟用 DAR + Opt-In 新目標(無湖邊屋) ✅ 啟用目標上的DAR追蹤 ✅ 啟用目標上的DAR追蹤 目標工作區會自動啟用 DAR 追蹤功能
啟用 DAR + Opt-In DAR 追蹤已停用 ✅ 同時啟用 DAR 追蹤和 Opt-In 功能 ✅ 同時啟用 DAR 追蹤與目標選擇加入 目標工作區會自動啟用這兩個功能
啟用 DAR + Opt-In 啟用 DAR,Opt-In 停用 ⚠️ 提示使用者啟用 Opt-In 和 DAR(覆寫或取消) ❌ 顯示錯誤 Git 整合允許使用者自由選擇;部署管線需要手動設定目標
啟用 DAR + Opt-In 啟用 DAR + Opt-In ✅ 正常同步(建立/更新/刪除視需要) ✅ 正常同步(建立/更新/刪除視需要) 標準操作並全同步

注意

當部署管線顯示錯誤時,客戶必須手動在目標工作空間啟用 DAR 追蹤,並對帳角色,確保資料存取角色無衝突,然後才能繼續部署。

重要

更換 OneLake Security 時請謹慎。 只有擁有管理員或成員角色的使用者才能將安全角色定義同步到 git 或部署管線。

重要

出於安全考量,Microsoft Entra 會員 ID 不會在 git 中被追蹤。 在 git 更新與部署管線操作期間,只有當角色名稱完全一致時,成員才會在工作區間被保留。 在重新命名已分配成員的角色時,建議謹慎。