Microsoft OneLake 的捷徑能將你的資料統一到不同網域、雲端和帳戶,讓 OneLake 成為整個企業的單一虛擬資料湖。 Fabric 體驗與分析引擎可透過統一命名空間連接您現有的資料來源,包括 Azure、Amazon Web Services(AWS)及 OneLake。 OneLake 會管理所有權限和憑證,所以你不需要分別設定每個 Fabric 工作負載來連接每個資料來源。 此外,您可使用捷徑來消除資料邊緣副本,減少與資料副本及分段相關的流程延遲。 捷徑也會與來源資料保持同步,包括自動更新捷徑資料表的結構。
什麼是捷徑?
OneLake 的捷徑是代表其他儲存位置的物件。 位置可位於 OneLake 內部或外部。 捷徑指向的位置就是捷徑的 目標路徑 。 捷徑出現的位置就是 捷徑路徑。
捷徑會顯示為 OneLake 資料夾,任何具 OneLake 存取權的工作負載或服務均可使用。 捷徑的運作方式就像符號連結。 其為獨立於目標的物件。 若刪除捷徑,目標將不受影響。 若移動、重新命名或刪除目標路徑,則捷徑可能中斷。
可在何處建立捷徑?
您可在 lakehouse 與 Kusto 查詢語言 (KQL) 資料庫建立捷徑。
你可以用 Fabric 入口網站互動式建立捷徑,也可以用 REST API程式化建立捷徑。
Lakehouse
在 lakehouse 建立捷徑時,您必須了解項目資料夾結構。 湖倉擁有兩個頂層資料夾:Tables 資料夾和 Files 資料夾。 tables 資料夾是用來存放結構化資料集的。 檔案資料夾是存放非結構化或半結構化資料的。
在 Tables 資料夾中,你只能在頂層建立捷徑。 OneLake 不支援 Tables 資料夾子目錄中的捷徑。 表格區塊中的捷徑通常 指向 OneLake 內部來源,或連結到符合 Delta 表格格式的其他資料資產。 若捷徑目標包含支援的資料表格式(如 Delta),湖屋會自動同步資料表元資料並識別該資料夾為資料表。
所有捷徑資料表(包括新建與現有資料表)的資料表結構都會自動同步。 這種同步確保原始碼的結構變更能反映在捷徑中,無需手動更新。 表格 區塊 中的捷徑可以連結到單一資料表或結構(schema),而結構是多個資料表的父資料夾。
請注意
Delta 格式不支援名稱包含空格字元的資料表。 OneLake 不會將名稱中包含空格的捷徑當作湖屋中的 Delta 表格。
在檔案資料夾裡,沒有限制你可以在哪裡建立捷徑。 你可以在資料夾階層的任何層級建立捷徑。 資料表發現不會發生在檔案資料夾裡。 這些捷徑可以指向內部的 OneLake 儲存系統,也可以指向外部包含任何格式資料的儲存系統。
KQL 資料庫
當您在 KQL 資料庫中建立快捷方式時,它會出現在資料庫的 Shortcuts 資料夾中。 KQL 資料庫會視捷徑為外部資料表。 若要查詢捷徑,請使用 Kusto 查詢語言的 external_table 函式。
Eventhouse 資料庫捷徑
當你在事件屋中建立資料庫捷徑時,可以選擇包含來源資料庫中的所有子項目,或選擇特定子項目分享。 這種資料表層級的共享功能,使得安全且受控的資料共享成為可能,且不會暴露整個資料庫。
來源資料庫與資料庫捷徑必須位於同一個租戶和區域。 不支援跨租戶及跨區域共享。 完整流程請參閱 建立資料庫捷徑。
選擇特定子項目
建立新的資料庫捷徑時,您可以從以下子項目類型中選擇:
- 資料表 - 來自原始資料庫的一般資料表
- 捷徑表 - 本身就是捷徑的表
- 實體化檢視 - 用於優化查詢的預先計算檢視
- 函式 - 用於可重用查詢邏輯的儲存函數
要選擇特定的子項目:
- 在事件屋中,選取 + 新增>資料庫捷徑。
- 選擇一種識別來源資料庫的方法:
- OneLake 目錄 - 瀏覽並選擇 Fabric 中的資料庫。
- Cluster URI - 手動輸入 Azure Data Explorer 叢集 URI 及資料庫名稱。
- 邀請令牌 - 貼上資料產生者發出的令牌。 子項目的選擇由生產者預先定義。
- 對於 OneLake 目錄或叢集 URI 方法,請開啟 Shared entities。 保持選取 所有實體 以包含所有子項目,或只選擇你想分享的子項目。
- 要查找特定子項目,請展開實體類型或依名稱搜尋。
- 選擇 建立 以建立捷徑。
請注意
你只能看到並選擇你有權限分享的子項目。 你沒有權限分享的子項目會被隱藏。
自動結構同步
eventhouse 資料庫捷徑的自動結構同步有兩種類型:
- 資料庫捷徑的自動架構同步:新增或移除表格、捷徑表格、實體化的檢視與函式。 這種同步只會在你建立資料庫捷徑並在「共享實體」中選擇「所有實體」時發生。 如果你只選擇子項目的子集,這個同步就不適用。 新建立的來源子項目不會自動加入該共享項目。
- 捷徑表的自動結構同步:新增、刪除或重新命名欄位,並更改欄位類型。 這個同步預設會發生在所有捷徑表上,除非你在以下範例中用 KQL 指令關閉。
資料表層級分享的消費者只能查詢並查看明確包含在分享中的子項目。 非共享子項目的名稱對消費者來說是看不到的。
要停用捷徑資料表的自動結構同步,請在原始資料庫執行以下指令:
.create-or-alter external table ExternalTable
kind=delta
(
h@'https://storageaccount.blob.core.windows.net/container1;secretKey'
) with (AutoUpdateSchema=false)
子項目相依關係
當你選擇子項目時,系統會自動處理相依性:
- 當你選擇實體化的檢視或函式時,會自動選擇被引用的資料表。
- 當你取消選擇實體化的檢視或函式時,所參考的資料表仍會被選取。
- 當你取消選取資料表時,任何依賴該資料表的實體化檢視或函式都會自動取消選取。
請注意
當你存取捷徑資料表時,只有在同時擁有所追蹤資料庫和捷徑資料表來源資料的權限下,才能查詢該資料表並檢視其中繼資料。 同樣的權限要求也適用於指向捷徑表的函式與實體化視圖。
可在何處存取捷徑?
任何能存取 OneLake 資料的 Fabric 或非 Fabric 服務,都可以使用捷徑。 對於任何透過 OneLake API 存取資料的任何服務,捷徑均為透明。 捷徑僅顯示為資料湖中的另一個資料夾。 Apache Spark、SQL、即時智慧與 Analysis Services 均可在查詢資料時使用捷徑。
Apache Spark
Apache Spark 筆記本與 Apache Spark 工作可使用您在 OneLake 建立的捷徑。 使用相對檔案路徑直接從捷徑讀取資料。 此外,如果您在 Lakehouse 的 [ 資料表 ] 區段中建立快捷方式,而且它採用 Delta 格式,您可以使用 Apache Spark SQL 語法將其讀取為受控數據表。
df = spark.read.format("delta").load("Tables/MyShortcut")
display(df)
df = spark.sql("SELECT * FROM MyLakehouse.MyShortcut LIMIT 1000")
display(df)
SQL
您可以透過 Lakehouse 的 SQL 分析端點,在 Lakehouse 的 [ 資料表 ] 區段中讀取快捷方式。 你可以透過湖屋的模式選擇器或 SQL Server Management Studio(SSMS)存取 SQL 分析端點。
SELECT TOP (100) *
FROM [MyLakehouse].[dbo].[MyShortcut]
即時智能
KQL 資料庫捷徑會識別為外部資料表。 若要查詢捷徑,請使用 Kusto 查詢語言的 external_table 函式。
external_table('MyShortcut')
| take 100
Analysis Services
您可以在 Lakehouse 的 數據表 區段中,為含有快捷方式的 Lakehouse 建立語義模型。 當語意模型以 Direct Lake 模式執行時,Analysis Services 可直接從捷徑讀取資料。
非 Fabric 服務
Fabric 以外的應用程式與服務也可透過 OneLake API 存取捷徑。 OneLake 支援 ADLS Gen2 與 Blob 儲存 API 子集。 若要深入瞭解 OneLake API,請參閱 使用 API 存取 OneLake。
https://onelake.dfs.fabric.microsoft.com/MyWorkspace/MyLakhouse/Tables/MyShortcut/MyFile.csv
捷徑類型
OneLake 的捷徑支援多個檔案系統資料來源。 這些來源包括 OneLake 內部地點以及外部或非 Microsoft 來源。
您也可以使用 Fabric 本地資料閘道器(OPDG)建立捷徑,前往本地或網路受限地點。
內部 OneLake 平台捷徑
使用內部 OneLake 快捷方式在現有 Fabric 元件中引用資料,包括:
- KQL 資料庫
- 湖畔別墅
- 鏡像 Azure Databricks 目錄
- 鏡像資料庫
- 語意模型
- SQL 資料庫
- 倉儲
關於建立內部捷徑的說明,請參見 「建立內部 OneLake 捷徑」。
捷徑可以指向同一項目中的資料夾位置、相同工作區的不同項目,或甚至是跨不同工作區的項目。 當您跨項目建立捷徑時,項目類型不需匹配。 舉例來說,你可以在湖屋裡建立一個指向倉庫資料的捷徑。
當使用者透過捷徑從其他 OneLake 地點存取資料時,OneLake 會使用呼叫使用者的身份授權存取資料。 此使用者必須在目標位置具有權限才能讀取資料。
重要
當使用者透過 Power BI 語意模型,透過 Direct Lake over SQL 或 T-SQL 引擎以委派身份模式存取捷徑時,呼叫的使用者身份不會被傳遞給捷徑目標。 取而代之的是,通話項目的擁有者身份會被傳遞,並將存取權委派給呼叫使用者。 為了解決此限制,請在 Direct Lake 模式下使用 Power BI 語意模型,或在使用者身份模式下使用 T-SQL。
外部 OneLake 捷徑
如需詳細說明如何建立特定捷徑類型,請從以下支援的外部來源列表中選擇一篇文章:
- Amazon S3 捷徑
- Amazon S3 相容的捷徑
- Azure Data Lake Storage(ADLS)第二代捷徑
- Azure Blob 儲存體快捷方式
- Dataverse 捷徑
- Google Cloud Storage 捷徑
- 冰山捷徑
- OneDrive 以及SharePoint捷徑
緩存
快取捷徑可以減少與跨雲端資料存取相關的網路流量成本。 當 OneLake 透過外部捷徑讀取檔案時,服務會將檔案儲存在 Fabric 工作區的快取中。 OneLake 回應快取中後續的讀取請求,而非遠端的儲存提供者。 你可以設定快取檔案的保留期在 1 到 28 天之間。 每次存取檔案時,保留期限都會被重置。 如果遠端儲存提供的檔案版本比快取版本更新,OneLake 會接收遠端儲存提供者的請求並更新快取中的檔案。 如果你在選擇的保留期內沒有存取檔案,該檔案會從快取中被清除。 不會快取大小大於 1 GB 的個別檔案。
請注意
捷徑快取目前支援 Google Cloud Storage(GCS)、S3、S3 相容性及本地資料閘道捷徑。
快取也支援使用 Microsoft Entra 服務主體認證的本地 Amazon S3 捷徑。
若要啟用快捷方式的快取,請開啟 [工作區設定 ] 面板。 選擇 [OneLake] 索引標籤 。將快取設定切換為 [開啟 ],然後選取 [ 保留期間]。
你隨時都可以清除快取。 從相同的設定頁面中,選取 [重設快取] 按鈕。 此動作會從此工作區的快捷方式快取中移除所有檔案。
捷徑如何使用雲端連線
ADLS 和 S3 捷徑透過雲端連線來委派授權。 當建立新 ADLS 或 S3 捷徑時,您可建立新連線或為資料來源選取現有連線。 設定捷徑連線是一種綁定操作。 僅具連線權限的使用者才能執行繫結操作。 如果你沒有該連線的權限,就無法用該連線建立新的捷徑。
欲了解更多關於查看與更新雲端連線的資訊,請參閱 「管理連線」中的捷徑。
快捷方式安全性
需要某些權限才能管理及使用捷徑。 OneLake 捷徑安全性 說明了建立捷徑並透過捷徑存取資料所需的權限。
捷徑如何處理刪除操作?
捷徑不支援層疊刪除。 當您刪除捷徑時,只會刪除捷徑物件。 捷徑目標中的資料保持不變。 然而,如果你在捷徑中刪除了檔案或資料夾,且捷徑目標有執行刪除操作的權限,你也會刪除該目標中的檔案或資料夾。
例如,考慮一個 Lakehouse,其內包含以下路徑:MyLakehouse\Files\MyShortcut\Foo\Bar。
MyShortcut 是指向包含 Foo\Bar 目錄的 ADLS Gen2 帳戶的快捷方式。
如果你刪除 MyLakehouse\Files\MyShortcut,你也會刪除湖屋裡的 MyShortcut 捷徑,但 ADLS Gen2 帳號 Foo\Bar 裡的檔案和目錄就不會受影響。
如果你刪除 MyLakehouse\Files\MyShortcut\Foo\Bar了 ,且你在 ADLS Gen2 帳號中有寫入權限,你就會從 ADLS Gen2 帳號中刪除 Bar 目錄。
再舉一個例子,假設有一個已啟用結構描述的湖倉,其路徑如下:MyLakehouse\Tables\MySchemaShortcut\Dir1。
MySchemaShortcut 是一個架構捷徑,指向包含 Dir1 目錄的 ADLS Gen2 帳號。
如果你刪除 MyLakehouse\Tables\MySchemaShortcut了 ,你也會從 lakehouse 刪除 MySchemaShortcut 的 schema 捷徑,但 ADLS Gen2 帳號 Dir1 裡的檔案和目錄不會受影響。
如果你刪除 MyLakehouse\Tables\MySchemaShortcut\Dir1,且你在 ADLS Gen2 帳號中有寫入權限,你就會從 ADLS Gen2 帳號中刪除 Dir1 目錄。
工作區譜系檢視
當你在工作區內建立多個 Fabric 項目之間的捷徑時,可以透過工作區的系譜檢視來視覺化這些捷徑的關聯。 選取 [工作區總管] 右上角的 [歷程檢視 ] 按鈕 (
)。
請注意
譜系檢視範圍僅限單一工作區。 選取工作區外部位置的快捷方式不會出現。
限制與考量
- 每個 Fabric 物品最多支援 100,000 個捷徑。 在此語境中,項目指的是應用程式、湖畔住宅、倉庫、報告等。
- 每個 Fabric 項目最多支援 100 個獨特的資料來源連線。 由於外部 OneLake 捷徑使用連線來到達來源,所有外部捷徑在一個項目中參考的唯一連線總數不得超過 100 個。 內部捷徑(通往其他 OneLake 地點)不計入此限制。
- 單一 OneLake 路徑最多支援 10 條捷徑。
- 直接捷徑到捷徑連結的數量上限為 5 個。
- 捷徑名稱、父路徑和目標路徑不能包含「%」或「+」字元。
- 捷徑不支援非拉丁字元。
- 目前無法提供倉庫捷徑和語意模型的資料譜系。
- Fabric 捷徑會自動與來源同步。 架構與元資料更新無需人工介入,但傳播時間可能因資料來源效能、快取視圖或網路連線而有所不同。
- 數據表 API 最多可能需要一分鐘的時間才能辨識新的快捷方式。
- 結構描述捷徑只能在 已啟用結構描述的 Lakehouse 中建立。