部署管線程式

部署程式可讓您將部署管線中的某個階段的內容複製到另一個階段,通常是從開發到測試,以及從測試到生產環境。

在部署期間,Microsoft Fabric 會將內容從目前階段複製到目標階段。 在複製的過程中,複製前後的項目會保持連結。 網狀架構也會將已設定的部署規則套用至目標階段中更新的內容。 視部署的項目數目而定,部署內容可能需要一些時間。 在此期間,您可以瀏覽至入口網站中的其他頁面,但您無法在目標階段中使用內容。

您也可以使用 部署管線 REST API,以程式設計方式部署內容。 您可以在使用 API 和 DevOps 自動化部署管線中深入瞭解此程式。

將內容部署至空白階段

當您將內容部署至空白階段時,會在您部署的階段容量上建立新的工作區。 原始工作區之報表、儀錶板和語意模型中的所有元數據都會複製到您要部署之階段的新工作區。

有數種方式可將內容從一個階段部署到另一個階段。 您可以部署所有內容,也可以 選取要部署的專案。

您也可以將內容往回部署,從部署管線的稍後階段部署到先前的階段。

部署完成之後,請重新整理語意模型,讓您可以使用新複製的內容。 需要語意模型重新整理,因為數據不會從某個階段複製到另一個階段。 若要瞭解部署程式期間會複製哪些項目屬性,以及未複製哪些項目屬性,請檢閱 部署 期間複製的專案屬性一節。

建立工作區

第一次部署內容時,部署管線會檢查您是否有許可權。

如果您有許可權,工作區的內容會複製到您要部署的階段,並在容量上建立該階段的新工作區。

如果您沒有許可權,則會建立工作區,但不會複製內容。 您可以要求容量管理員將工作區新增至容量,或要求容量的指派許可權。 稍後,將工作區指派給容量時,您可以將內容部署至此工作區。

如果您使用 進階版 每位使用者 (PPU),您的工作區會自動與您的 PPU 相關聯。 在這種情況下,不需要許可權。 不過,如果您使用 PPU 建立工作區,則只有其他 PPU 使用者可以存取它。 此外,只有 PPU 使用者可以取用在這類工作區中建立的內容。

部署用戶會自動成為複製語意模型的擁有者,以及新工作區的唯一系統管理員。

將內容部署至現有的工作區

將內容從工作生產管線部署到具有現有工作區的階段,包括下列步驟:

  • 將新內容部署為已存在之內容的新增專案。

  • 部署更新的內容來取代部分內容。

部署程序

將目前階段的內容複製到目標階段時,Fabric 會識別目標階段中的現有內容並加以覆寫。 若要識別需要覆寫哪些內容專案,部署管線會使用父專案與其複製之間的連線。 建立新內容時,會保留此連線。 覆寫作業只會覆寫項目的內容。 項目的標識碼、URL 和許可權保持不變。

在目標階段中, 未複製的專案屬性會維持在部署之前的狀態。 新的內容和新專案會從目前階段複製到目標階段。

自動系結

在 Fabric 中,當項目連線時,其中一個專案相依於另一個專案。 例如,報表一律取決於其所連接的語意模型。 語意模型可以相依於另一個語意模型,也可以連接到相依於它的數個報表。 如果兩個項目之間有連線,部署管線一律會嘗試維護此連線。

在部署期間,部署管線會檢查相依性。 部署會成功或失敗,視提供所部署專案相依之數據的專案位置而定。

  • 鏈接專案存在於目標階段 - 部署管線會自動將已部署的項目連線到所部署階段中相依的專案。 例如,如果您將編頁報表從開發部署到測試,而且它已連線到先前部署至測試階段的語意模型,它會自動連線到該語意模型。

  • 連結的專案不存在於目標階段 - 如果專案相依於另一個專案,且提供數據的專案未部署且不在目標階段,則部署管線會失敗部署。 例如,如果您將報表從開發部署至測試,而測試階段不包含其語意模型,部署將會失敗。 若要避免因為未部署相依項目而失敗的部署,請使用 [ 選取相關 ] 按鈕。 選取 [相關 ] 會自動選取提供相依性給即將部署之專案的所有相關專案。

自動系結僅適用於部署管線所支援且位於 Fabric 內的專案。 若要檢視專案的相依性,請從專案的 [更多選項 ] 功能表中,選取 [ 檢視譜系]。

檢視譜系選項的螢幕快照,位於專案的 [更多選項] 功能表中。

跨管線自動系結

如果項目位於相同的管線階段,部署管線會自動系結跨管線聯機的專案。 當您部署這類專案時,部署管線會嘗試在已部署的專案與其連線至另一個管線中的項目之間建立新的連線。 例如,如果您在管線 A 的測試階段中有報表,且該報表已連線到管線 B 測試階段的語意模型,則部署管線會辨識此連線。

以下是圖例,可協助示範跨管線自動系結的運作方式:

  1. 您在管線 A 的開發階段中有語意模型。

  2. 您也有管線 B 開發階段的報表。

  3. 管線 B 中的報表會連線至管線 A 中的語意模型。您的報表取決於此語意模型。

  4. 您會在管線 B 中將報表從開發階段部署到測試階段。

  5. 部署成功或失敗,視您是否有一份語意模型複本而定,視管線 A 的測試階段而定:

    • 如果您有一份語意模型複本,報表取決於管線 A 的測試階段:

      部署成功,而部署管線會將管線 B 測試階段中的報表連接到管線 A 測試階段中的語意模型。

      顯示將報表從開發階段部署到管線 B 中測試階段的圖表。報表會連線至管線 A 中的數據集。部署成功,因為報表的數據集復本取決於管線 A 的測試階段。在管線 B 的測試階段中部署報表之後,會在管線 A 的測試階段中自動系結數據集。

    • 如果您沒有語意模型的複本,報表會相依於管線 A 的測試階段:

      部署失敗,因為部署管線無法將管線 B 中測試階段中的報表聯機到其相依於管線 A 測試階段的語意模型。

      顯示將報表從開發階段部署到管線 B 中測試階段的圖表。報表會連線至管線 A 中的數據集。部署失敗,因為報表沒有數據集複本,因此在管線 A 的測試階段中會相依。

避免使用自動系結

在某些情況下,您可能不想使用自動系結。 例如,如果您有一個管線來開發組織語意模型,而另一個管線則用於建立報表。 在此情況下,您可能會希望所有報表一律連線到其所屬管線生產階段的語意模型。 若要達成此目的,請避免使用自動系結功能。

顯示兩個管線的圖表。管線 A 在每個階段都有語意模型,而管線 B 在每個階段都有報表。來自管線 B 的所有報表都會連線到管線 A 生產階段中的語意模型。

您可以使用三種方法來避免使用自動繫結:

  • 請勿將項目連線到對應的階段。 當專案未在相同階段連線時,部署管線會保留原始連線。 例如,如果您在管線 B 的開發階段中有報表,且該報表已連線至管線 A 生產階段中的語意模型。當您將報表部署到管線 B 的測試階段時,它仍會連接到管線 A 生產階段中的語意模型。

  • 定義參數規則。 此選項不適用於報表。 您只能將它與語意模型和數據流搭配使用。

  • 連線 報表、儀錶板和磚到未連線至管線的 Proxy 語意模型或數據流。

自動係結和參數

參數可用來控制語意模型或數據流與其相依專案之間的連接。 當參數控制連接時,即使連接包含套用至語意模型或數據流標識碼或工作區標識碼的參數,部署之後也不會進行自動系結。 在這種情況下,您必須藉由變更參數值或使用 參數規則,在部署之後重新系結專案。

注意

如果您使用參數規則來重新系結項目,參數必須是 類型 Text

重新整理數據

盡可能保留目標項目中的數據,例如語意模型或數據流。 如果保留數據的專案沒有任何變更,數據會維持在部署之前一樣。

在許多情況下,當您有少量的變更,例如新增或移除數據表時,Fabric 會保留原始數據。 若要變更中斷架構,或數據源連線中的變更,需要完整重新整理。

使用現有工作區部署到階段的需求

任何同時是目標和來源部署工作區成員的授權使用者,都可以將位於容量的內容部署到具有現有工作區的階段。 如需詳細資訊,請檢閱許可權節。

部署管線中的資料夾 (預覽)

工作區中的資料夾 可讓使用者以熟悉的方式有效率地組織及管理工作區專案。 當您將包含資料夾的內容部署到不同的階段時,會自動套用套用專案的資料夾階層。

資料夾表示法

由於部署只包含專案,因此工作區內容會顯示在部署管線中做為一般項目清單。 當將滑鼠停留在清單的名稱上方時,會顯示專案的完整路徑。 在 [部署管線] 中,資料夾會被視為專案名稱的一部分(專案名稱包含其完整路徑)。 部署專案時,在其路徑變更后(例如,從資料夾 A 移至資料夾 B),然後部署管線會將此變更套用至其部署期間的配對專案 -配對專案也會移至資料夾 B。如果在我們要部署的階段中不存在資料夾 B,則會先在其工作區中建立資料夾 B。 只能在工作區頁面上看到和管理資料夾。

顯示資料夾內專案完整路徑名稱的螢幕快照。名稱包含資料夾的名稱。

識別已移至不同資料夾的專案

由於資料夾會被視為項目名稱的一部分,因此專案會移至工作區中的不同資料夾,在 [部署管線] 頁面上識別為 [比較] 模式中的 [不同]。 此外,除非也有架構變更,否則標籤旁邊的選項會停用,以開啟 顯示架構變更的 [變更檢閱 ] 視窗。 將滑鼠停留在上方會顯示指出變更為 設定 變更的附註(例如 重新命名)。 這是因為與其在來源階段的配對專案相比,尚未部署變更。

此螢幕快照顯示的比較變更畫面與移至不同資料夾的某個階段中的專案。

  • 無法在部署管線中手動部署個別資料夾。 至少部署其中一個專案時,系統會自動觸發其部署。

  • 配對專案的資料夾階層只會在部署期間更新。 在指派期間,在配對程序之後,尚未更新配對項目的階層。

  • 因為只有在部署其中一個專案時才會部署資料夾,因此無法部署空的資料夾。

  • 將一個專案從資料夾中的數個專案部署,也會更新目標階段中未部署的項目結構,即使不會部署專案本身也一樣。

支援的專案

當您將內容從一個管線階段部署到另一個階段時,複製的內容可以包含下列專案:

部署期間複製的項目屬性

在部署期間,會複製下列項目屬性,並在目標階段覆寫項目屬性:

只有在符合下列其中一個條件時,才會複製敏感度標籤。 如果不符合這些條件,則不會在部署期間複製敏感度標籤

  • 已部署新專案,或現有專案部署至空白階段。

    注意

    如果在租用戶上啟用默認標籤,且默認標籤有效,如果部署的專案是語意模型或數據流,則只有在標籤具有保護時,才會從來源專案複製標籤。 如果未保護標籤,默認標籤將會套用至新建立的目標語意模型或數據流。

  • 來源專案具有具有保護的標籤,且目標項目沒有。 在這種情況下,會出現一個彈出視窗,要求同意覆寫目標敏感度標籤。

未複製的項目屬性

部署期間不會複製下列項目屬性:

  • 數據 - 資料不會複製。 只會複製元數據

  • URL

  • 識別碼

  • 許可權 - 適用於工作區或特定專案

  • 工作區設定 - 每個階段都有自己的工作區

  • 應用程式內容和設定 - 若要更新您的應用程式,請參閱 將內容更新至 Power BI 應用程式

  • 個人書籤

部署期間也不會複製下列語意模型屬性:

  • 角色指派

  • 重新整理排程

  • 資料來源認證

  • 查詢快取設定 (可以繼承自容量)

  • 簽署設定

支援的語意模型功能

部署管線支援許多語意模型功能。 本節列出兩個語意模型功能,可增強部署管線體驗:

累加式重新整理

部署管線支援 累加式重新整理,這項功能可讓大型語意模型更快且更可靠的重新整理,且耗用量較低。

使用部署管線,您可以使用累加式重新整理對語意模型進行更新,同時保留數據和分割區。 當您部署語意模型時,會一起複製原則。

若要瞭解累加式重新整理如何與數據流運作,請參閱 為什麼在使用數據流規則之後看到兩個數據源聯機到數據流?

啟用管線中的累加式重新整理

若要啟用累加式重新整理,請在 Power BI Desktop 中設定它,然後發布您的語意模型。 發佈之後,累加式重新整理原則在管線中很類似,而且只能在Power BI Desktop中撰寫。

當您的管線設定為累加式重新整理之後,建議您使用下列流程:

  1. 在 Power BI Desktop 中變更 . pbix 檔案。 若要避免長時間等候,您可以使用數據的範例進行變更。

  2. 將您的 .pbix 檔案上傳至第一個 (通常是 開發) 階段。

  3. 將您的內容部署到下一個階段。 部署之後,您所做的變更會套用至您使用的整個語意模型。

  4. 檢閱您在每個階段中所做的變更,並在驗證之後,部署到下一個階段,直到您進入最後階段為止。

使用範例

以下是一些範例,說明如何整合累加式重新整理與部署管線。

  • 建立新的管線 ,並將它連接到已啟用累加式重新整理的語意模型工作區。

  • 在已經在開發工作區中的語意模型中啟用累加式重新整理。

  • 從生產工作區建立管線,該工作區具有使用累加式重新整理的語意模型。 例如,將工作區指派給新管線 的生產 階段,並使用向後部署來部署至 測試 階段,然後部署到 開發 階段。

  • 將使用累加式重新整理的語意模型發佈至屬於現有管線一部分的工作區。

累加式重新整理限制

針對累加式重新整理,部署管線僅支援使用 增強式語意模型元數據的語意模型。 使用 Power BI Desktop 建立或修改的所有語意模型都會自動實作增強的語意模型元數據。

將語意模型重新發佈至已啟用累加式重新整理的作用中管線時,下列變更會導致部署失敗,因為數據遺失可能:

  • 重新發佈未使用累加式重新整理的語意模型,以取代已啟用累加式重新整理的語意模型。

  • 重新命名已啟用累加式重新整理的數據表。

  • 在已啟用累加式重新整理的數據表中重新命名非計算的數據行。

允許其他變更,例如新增數據行、移除數據行,以及重新命名匯出數據行。 不過,如果變更會影響顯示器,您必須在顯示變更之前重新整理。

複合模型

您可以使用 複合模型 來設定具有多個數據連線的報表。

您可以使用複合模型功能,將網狀架構語意模型連接到外部語意模型,例如 Azure Analysis Services。 如需詳細資訊,請參閱 使用 DirectQuery for Fabric 語意模型和 Azure Analysis Services

在部署管線中,您可以使用複合模型,將語意模型連接到管線外部的另一個 Fabric 語意模型。

自動匯總

自動匯總 建置在使用者定義的匯總之上,並使用機器學習持續優化 DirectQuery 語意模型,以達到報表查詢效能上限。

每個語意模型都會在部署后保持其自動匯總。 部署管線不會變更語意模型的自動匯總。 這表示,如果您使用自動匯總來部署語意模型,目標階段中的自動匯總會維持原狀,而且不會由從來源階段部署的自動匯總覆寫。

若要啟用自動匯總,請遵循設定自動匯總中的指示。

混合式數據表

混合式數據表是具有 可同時匯入和直接查詢分割區的累加式重新 整理數據表。 在全新部署期間,會複製重新整理原則和混合式數據表分割區。 當您部署至已經有混合式數據表分割的管線階段時,只會複製重新整理原則。 若要更新分割區,請重新整理數據表。

將內容更新至 Power BI 應用程式

Power BI 應用程式 是將內容發佈給免費網狀架構取用者的建議方式。 您可以使用部署管線來更新Power BI 應用程式的內容,讓您在應用程式生命週期方面擁有更多控制權和彈性。

為每個部署管線階段建立應用程式,以便從終端用戶的觀點測試每個更新。 使用工作區卡片中的 [發佈] 或 [檢視] 按鈕,在特定管線階段中發佈或檢視應用程式。

醒目提示生產階段右下角 [發佈應用程式] 按鈕的螢幕快照。

在生產階段中,右下角的主要動作按鈕會在 Fabric 中開啟更新應用程式頁面,讓應用程式使用者可以使用任何內容更新。

醒目提示生產階段右下角更新應用程式按鈕的螢幕快照。

重要

部署程式不包含更新應用程式內容或設定。 若要將變更套用至內容或設定,您必須在必要的管線階段手動更新應用程式。

權限

管線和指派給管線的工作區都需要許可權。 管線權限和工作區權限是分開授與和管控的。

  • 管線只有一個許可權,管理員,這是共用、編輯和刪除管線所需的許可權。

  • 工作區具有不同的許可權,也稱為 角色。 工作區角色會決定管線中工作區的存取層級。

  • 部署管線不支援 Microsoft 365 群組 作為管線管理員。

若要從某個階段部署到管線中的另一個階段,您必須是管線管理員,以及指派給相關階段之工作區的成員或系統管理員。 例如,未獲指派工作區角色的管線管理員可以檢視管線,並與其他人共用。 不過,此使用者無法在管線或服務中檢視工作區的內容,而且無法執行部署。

許可權數據表

本節描述部署管線許可權。 本節所列的許可權在其他 Fabric 功能中可能會有不同的應用程式。

最低部署管線許可權是 管線管理員,而且所有部署管線作業都需要此許可權。

User 管線權限 註解
管線管理員
  • 檢視管線
  • 與其他人共用管線
  • 編輯和刪除管線
  • 從階段取消指派工作區
  • 可以看到標記為已指派給管線的工作區,Power BI 服務
管線存取不會授與檢視或對工作區內容採取動作的許可權。
工作區查看器
(和管線管理員)
  • 取用內容
  • 從階段取消指派工作區
未獲建置許可權的檢視者角色指派的工作區成員無法存取語意模型或編輯工作區內容。
工作區參與者
(和管線管理員)
  • 取用內容
  • 比較階段
  • 檢視語意模型
  • 從階段取消指派工作區
工作區成員
(和管線管理員)
  • 檢視工作區內容
  • 比較階段
  • 部署項目 (必須是來源和目標工作區的成員或管理員)
  • 更新語意模型
  • 從階段取消指派工作區
  • 設定語意模型規則(您必須是語意模型擁有者)
如果已啟用租用戶語意模型安全性區段中的區塊重新發佈和停用套件重新整理設定,則只有語意模型擁有者能夠更新語意模型。
工作區管理員
(和管線管理員)
  • 檢視工作區內容
  • 比較階段
  • 部署專案
  • 將工作區指派給階段
  • 更新語意模型
  • 從階段取消指派工作區
  • 設定語意模型規則(您必須是語意模型擁有者)

授與的許可權

當您部署Power BI專案時,所部署項目的擁有權可能會變更。 請檢閱下表,以瞭解誰可以部署每個專案,以及部署如何影響項目的擁有權。

網狀架構專案 需要部署現有項目的權限 第一次部署之後的項目擁有權 將專案部署至階段之後的項目擁有權
語意模型 工作區成員 建立部署的使用者會成為擁有者 Unchanged
資料流程 資料流程擁有者 建立部署的使用者會成為擁有者 Unchanged
Datamart Datamart 擁有者 建立部署的使用者會成為擁有者 Unchanged
編頁報表 工作區成員 建立部署的使用者會成為擁有者 建立部署的使用者會成為擁有者

下表列出熱門部署管線動作的必要許可權。 除非另有指定,否則針對每個動作,您需要所有列出的許可權。

動作 所需的權限
檢視組織中的管線清單 不需要授權(免費使用者)
建立新管線 具有下列其中一個授權的使用者:
  • 專業版
  • PPU
  • 進階
刪除管線 管線管理員
新增或移除管線使用者 管線管理員
將工作區指派給階段
  • 管線管理員
  • 工作區管理員(要指派的工作區)
將工作區取消指派至階段 下列其中一項:
部署至空白階段
  • 管線管理員
  • 來源工作區成員或系統管理員
將專案部署到下一個階段
  • 管線管理員
  • 來源和目標階段的工作區成員或管理員
  • 若要部署 Datamarts 或數據流,您必須是已部署項目的擁有者
  • 如果語意模型租使用者管理員切換已開啟,而且您要部署語意模型,則必須是語意模型的擁有者
檢視或設定規則
  • 管線管理員
  • 目標工作區參與者、成員或系統管理員
  • 您要為其設定規則之項目的擁有者
管理管線設定 管線管理員
檢視管線階段
  • 管線管理員
  • 工作區讀者、參與者、成員或系統管理員。您會看到工作區許可權授與存取權的專案。
檢視階段中的項目清單 管線管理員
比較兩個階段
  • 管線管理員
  • 這兩個階段的工作區參與者、成員或系統管理員
檢視部署歷程記錄 管線管理員

考量與限制

本節列出部署管線中大部分的限制。

  • 工作區必須位於 網狀架構容量上。
  • 單一部署中可以部署的項目數目上限為 300。
  • 不支援在部署後下載 .pbix 檔案。
  • 管線系統管理員不支援 Microsoft 365 群組
  • 當您第一次部署Power BI專案時,如果目標階段中的另一個專案在類型中類似(例如,如果兩個檔案都是報表),而且具有相同名稱,部署就會失敗。
  • 如需工作區限制的清單,請參閱 工作區指派限制
  • 如需支援項目的清單,請參閱 支援的專案。 不支援任何不在清單上的專案。
  • 如果任何專案都有迴圈或自我相依性,則部署會失敗(例如,專案 A 參考專案 B 和專案 B 參考專案 A)。
  • 只有 Power BI 專案可以部署到不同容量區域中的工作區。 其他網狀架構項目無法部署到不同容量區域中的工作區。

語意模型限制

數據流限制

  • 當您將數據流部署到空階段時,部署管線會建立新的工作區,並將數據流記憶體設定為 Fabric Blob 記憶體。 即使來源工作區已設定為使用 Azure Data Lake Storage Gen2 (ADLS Gen2),仍會使用 Blob 記憶體。

  • 數據流不支援服務主體。

  • 不支援部署通用數據模型 (CDM)。

  • 如需影響數據流的部署管線規則限制,請參閱 部署規則限制

  • 如果在部署期間重新整理數據流,部署就會失敗。

  • 如果您在數據流重新整理期間比較階段,則結果無法預測。

Datamart 限制

  • 您無法使用敏感度標籤來部署數據超市。

  • 您必須是 Datamart 擁有者,才能部署 Datamart。

開始使用部署管線