設定數據流記憶體以使用 Azure Data Lake Gen 2

與 Power BI 搭配使用的資料根據預設會儲存在 Power BI 所提供的內部儲存體中。 透過整合資料流程和 Azure Data Lake Storage Gen 2 (ADLS Gen2),您可以將資料流程儲存在組織的 Azure Data Lake Storage Gen2 帳戶中。 此功能基本上可讓您「攜帶您自己的記憶體」到 Power BI 數據流,並在租使用者或工作區層級建立連線。

使用 ADLS Gen 2 工作區或租用戶連線的原因

附加數據流之後,Power BI 會設定並儲存參考,以便您現在可以將數據讀取和寫入您自己的 ADLS Gen 2。 Power BI 會以通用數據模型 (CDM) 格式儲存數據,除了數據流本身所產生的實際數據之外,還擷取您數據的元數據。 這項功能可解除鎖定許多功能強大的功能,並讓CDM格式的數據和相關聯的元數據現在提供擴充性、自動化、監視和備份案例。 當您在自己的環境中提供此數據並廣泛存取時,它可讓您將組織內建立的深入解析和數據大眾化。 它也會解除鎖定您建立具有各種複雜度進一步解決方案的能力。 您的解決方案可以是Power Platform、Azure 中的CDM感知自定義應用程式和解決方案,以及透過合作夥伴和獨立軟體廠商 (ISV) 生態系統提供的解決方案。 或者,您可以建立應用程式來讀取 CSV。 您的數據工程師、數據科學家和分析師現在可以使用、使用及重複使用ADLS Gen 2 中策劃的一組常見數據。

有兩種方式可以設定要使用的ADLS Gen 2存放區:您可以使用租使用者指派的ADLS Gen 2 帳戶,或將自己的ADLS Gen 2存放區帶到工作區層級。

必要條件

  • 若要攜帶您自己的 ADLS Gen 2 帳戶,您必須擁有 記憶體帳戶層的擁有者 許可權。 資源群組或訂用帳戶層級的許可權將無法運作。 如果您是系統管理員,您仍必須自行指派擁有者許可權。 目前不支援防火牆後方的 ADLS Gen2 儲存體 帳戶。

  • 必須建立 已啟用階層命名空間 (HNS) 的 記憶體帳戶。

  • 記憶體帳戶必須建立在與 Power BI 租使用者相同的 Microsoft Entra 租使用者中

  • 用戶必須具有 儲存體 Blob 數據擁有者角色、儲存體 Blob 數據讀取者角色,以及記憶體帳戶層級的擁有者角色(範圍應該是此資源且未繼承)。 任何套用的角色變更可能需要幾分鐘的時間才能同步處理,而且必須先同步處理,才能在 Power BI 服務 中完成下列步驟。

  • Power BI 工作區租用戶區域應該與記憶體帳戶區域相同。

  • 需要 TLS(傳輸層安全性)1.2 版(或更新版本)來保護您的端點。 使用 TLS 1.2 之前 TLS 版本的網頁瀏覽器和其他用戶端應用程式將無法連線。

  • 不支援在多重要素驗證後方附加具有 ADLS Gen 2 的數據流(MFA)。

  • 最後,您可以從 管理員 入口網站連線到任何 ADLS Gen 2,但如果您直接連線到工作區,您必須先確定工作區中沒有數據流再連線。

注意

攜帶您自己的記憶體 (Azure Data Lake Gen 2) 不適用於美國政府 GCC 客戶 Power BI 服務。 如需哪些功能可供使用且未提供的詳細資訊,請參閱 美國政府客戶的Power BI功能可用性。

下表描述 ADLS Gen 2 和 Power BI 所需的 ADLS 和 Power BI 許可權:

動作 ADLS 許可權 Power BI 許可權下限
連線 ADLS Gen 2 至 Power BI 租使用者 負責人 Power BI 管理員
連線 ADLS Gen 2 至工作區 負責人 工作區管理員
建立 Power BI 數據流,回寫至連線的 ADLS 帳戶 不適用 工作區參與者
取用 Power BI 數據流 不適用 工作區查看器

在工作區層級 連線 至 Azure Data Lake Gen 2

流覽至沒有數據流的工作區。 選取 [ 工作區設定]。 選擇 [Azure 連線 ions] 索引卷標,然後選取 [儲存體] 區段。

Screenshot of the Workspace settings pane on the Azure connections tab.

如果系統管理員已設定租使用者指派的 ADLS Gen 2 帳戶,則可以看到 [使用預設 Azure 連線] 選項。 您有兩個選擇:

  • 選取名為 [使用預設 Azure 連線] 的方塊,以使用租用戶設定的 ADLS Gen 2 帳戶,或
  • 選取 [連線 至 Azure],以指向新的 Azure 儲存體 帳戶。

當您選取 [連線 至 Azure 時,Power BI 會擷取您有權存取的 Azure 訂用帳戶清單。 填入下拉式清單。 然後選擇已啟用階層命名空間選項的有效 Azure 訂用帳戶、資源群組和記憶體帳戶,也就是 ADLS Gen2 旗標。 用來連線到 Azure 的個人帳戶只會使用一次,以設定初始連線,並將 Power BI 服務 帳戶許可權授與讀取和寫入數據,之後不再需要原始用戶帳戶才能讓連線保持作用中。

Screenshot of the Settings window after choosing Connecting to Azure.

選擇選取之後,請選取 [ 儲存 ],現在您已成功將工作區聯機到您自己的 ADLS Gen2 帳戶。 Power BI 會自動設定具有必要許可權的記憶體帳戶,並設定將寫入數據的 Power BI 文件系統。 此時,此工作區內的每個數據流數據都會直接寫入此文件系統,此文件系統可以與其他 Azure 服務搭配使用。 您現在擁有所有組織或部門數據的單一來源。

Azure 連線設定

設定 Azure 連線是選擇性設定,具有可選擇性設定更多屬性的選擇性設定:

  • 租用戶層級記憶體,可讓您設定預設值和/或
  • 工作區層級記憶體,可讓您指定每個工作區的連線

如果您想要只使用集中式數據湖,或希望此記憶體成為預設選項,您可以選擇性地設定租用戶層級記憶體。 我們不會自動使用預設值來允許設定彈性,因此您可以彈性地設定符合此連線的工作區。 如果您設定租使用者指派的ADLS Gen 2 帳戶,您仍然需要將每個工作區設定為使用這個預設選項。

您可以選擇性地或另外將工作區層級記憶體許可權設定為個別選項,以提供完全彈性,依工作區在工作區上設定特定的 ADLS Gen 2 帳戶。

總而言之,如果允許租用戶層級記憶體和工作區層級記憶體許可權,則工作區系統管理員可以選擇使用預設的 ADLS 連線,或選擇設定與預設不同的另一個記憶體帳戶。 如果未設定租用戶記憶體,則工作區系統管理員可以選擇性地依工作區設定 ADLS 帳戶。 最後,如果選取租用戶層級記憶體且不允許工作區層級記憶體,則工作區系統管理員可以選擇性地設定其數據流以使用此連線。

ADLS Gen 2 工作區連線的結構和格式

在ADLS Gen 2 記憶體帳戶中,所有數據流都會儲存在 文件系統的powerbi 容器中。

powerbi 容器的結構如下所示:<workspace name>/<dataflow name>/model.json<workspace name>/<dataflow name>/model.json.snapshots/<all snapshots><workspace name>/<dataflow name>/<table name>/<tablesnapshots>

數據流將數據儲存在ADLS Gen 2資料夾階層中的位置,與工作區位於共用容量或 進階版容量相同。

下列範例使用 Northwind Odata 範例的 Orders 數據表。

Screenshot of the file explorer showing an example using the Orders table of the Northwind Odata sample.

在上圖中:

  • model.json 是數據流的最新版本。
  • model.json.snapshots 是所有舊版的數據流。 如果您需要舊版的混搭或累加設定,此歷程記錄會很有用。
  • tablename 是包含數據流重新整理完成後所產生數據的資料夾。

我們只會寫入此儲存體帳戶,且目前不會刪除數據。 因此,即使在卸離之後,我們也不會從ADLS帳戶中刪除,因此先前清單中提及的所有檔案仍會儲存。

注意

數據流允許在其他數據流中連結或參考數據表。 在這類數據流中 ,model.json 檔案可以參考相同或其他工作區中另一個數據流的另一個 model.json

在 ADLS Gen 2 記憶體帳戶之間/內移動檔案

當您將數據流從某個 ADLS Gen2 儲存體帳戶移至另一個記憶體帳戶時,您必須確定 model.json 檔案中的路徑已更新,以反映新位置。 這是因為 model.json 檔案包含數據流的路徑和數據的路徑。 如果您未更新路徑,數據流將無法找到數據並造成許可權錯誤。 若要更新路徑,您可以使用下列步驟:

  • 文本編輯器中開啟model.json 檔案。
  • 尋找記憶體帳戶 URL,並將它取代為新的記憶體帳戶 URL。
  • 儲存檔案。
  • 覆寫 ADLS Gen2 記憶體帳戶中現有的 model.json 檔案。

ADLS Gen 2 工作區聯機的擴充性

如果您要將 ADLS Gen 2 連線到 Power BI,您可以在工作區或租用戶層級執行此動作。 請確定您具有正確的存取層級。 若要深入瞭解,請參閱 必要條件

記憶體結構遵守 Common Data Model 格式。 若要深入瞭解記憶體結構和CDM,請瀏覽什麼是分析數據流的記憶體結構,並使用 Common Data Model 將 Azure Data Lake 儲存體 Gen2 優化。

正確設定之後,數據和元數據會位於您的控制件中。 許多應用程式都瞭解CDM,而且可以使用 Azure、PowerApps 和 PowerAutomate 來擴充數據。 您也可以藉由符合格式或讀取原始數據,來使用第三方生態系統。

從工作區或租使用者卸離 Azure Data Lake Gen 2

若要移除工作區層級的連線,您必須先確定工作區中的所有數據流都已刪除。 拿掉所有數據流之後,請在工作區設定中選取 [中斷連線 ]。 同樣適用於租使用者,但您必須先確定所有工作區也已中斷與租用戶記憶體帳戶的連線,才能在租用戶層級中斷連線。

停用 Azure Data Lake Gen 2

在 管理員 入口網站數據流,您可以停用使用者使用此功能的存取權,而且不允許工作區系統管理員攜帶自己的 Azure 儲存體。

從 Azure Data Lake Gen 2 還原

在數據流記憶體設定為使用 Azure Data Lake Gen 2 之後,無法自動還原。 返回 Power BI 受控記憶體的程式是手動的。

若要還原您對 Gen 2 所做的移轉,您需要刪除資料流,並在相同的工作區中重新建立它們。 然後,因為我們不會從ADLS Gen 2 刪除數據,請移至資源本身並清除數據。 此動作會牽涉到下列步驟。

  1. 從 Power BI 匯出數據流的複本。 或者,複製 model.json 檔案。 model.json 檔案會儲存在 ADLS 中。

  2. 刪除數據流。

  3. 中斷連結 ADLS。

  4. 使用匯入重新建立數據流。 累加式重新整理資料(如果適用的話)必須在匯入之前刪除。 刪除model.json檔案中的相關分割區,即可完成此動作。

  5. 設定重新整理/重新建立累加式重新整理原則。

使用 ADLS Gen 2 連接器將資料 連線

本檔的範圍描述 ADLS Gen 2 數據流連線,而不是 Power BI ADLS Gen 2 連接器。 使用 ADLS Gen 2 連接器是個別的、可能加法的案例。 ADLS 連接器只會使用ADLS作為數據源。 因此,使用 Power Query Online 來查詢該數據不需要採用 CDM 格式,它可以是客戶想要的任何數據格式。 如需詳細資訊,請參閱 Azure Data Lake 儲存體 Gen2

下列文章提供數據流和 Power BI 的詳細資訊: