OneLake 快捷方式
Microsoft OneLake 中的快捷方式可讓您為整個企業建立單一虛擬數據湖,以跨網域、雲端和帳戶整合您的數據。 所有網狀架構體驗和分析引擎都可以透過統一命名空間直接連線到現有的數據源,例如 Azure、Amazon Web Services (AWS) 和 OneLake。 OneLake 會管理所有許可權和認證,因此您不需要個別設定每個 Fabric 工作負載來連線到每個數據源。 此外,您可以使用快捷方式來消除數據的邊緣複本,並減少與數據複本和暫存相關聯的進程延遲。
什麼是快捷方式?
快捷方式是 OneLake 中指向其他儲存位置的物件。 位置可以是 OneLake 的內部或外部位置。 快捷方式指向的位置稱為快捷方式的目標路徑。 快捷方式出現的位置稱為快捷方式路徑。 快捷方式會顯示為 OneLake 中的資料夾,以及任何可存取 OneLake 的工作負載或服務都可以使用它們。 快捷方式的行為就像符號連結。 它們是與目標無關的物件。 如果您刪除快捷方式,則目標不會受到影響。 如果您移動、重新命名或刪除目標路徑,快捷方式可能會中斷。
我可以在哪裡建立快捷方式?
您可以在 lakehouses 和 Kusto 查詢語言 (KQL) 資料庫中建立快捷方式。 此外,您在這些專案內建立的快捷方式可以指向其他 OneLake 位置、Azure Data Lake Storage (ADLS) Gen2、Amazon S3 儲存器帳戶或 Dataverse。 您甚至可以 使用 Fabric 內部部署資料閘道 (OPDG) 來建立內部部署或網路限制位置 的快捷方式。
您可以使用網狀架構 UI 以互動方式建立快捷方式,也可以使用 REST API 以程式設計方式建立快捷方式。
Lakehouse
在 Lakehouse 中建立快捷方式時,您必須瞭解專案的資料夾結構。 Lakehouse 是由兩個最上層資料夾所組成: Tables 資料夾和 Files 資料夾。 Tables 資料夾代表 Lakehouse 的 Managed 部分,而 Files 資料夾是 Lakehouse 的 Unmanaged 部分。 在 [ 數據表] 資料夾中,您只能在最上層建立快捷方式。 [資料表] 資料夾的其他子目錄中不支援快捷方式。 如果快捷方式的目標包含 Delta\Parquet 格式的數據,Lakehouse 會自動同步處理元數據,並將資料夾辨識為數據表。 在 [ 檔案] 資料夾中,您可以建立快捷方式的位置沒有任何限制。 您可以在資料夾階層的任何層級建立它們。 數據表探索不會發生在 [檔案] 資料夾中。
KQL 資料庫
當您在 KQL 資料庫中建立快捷方式時,它會出現在 資料庫的 Shortcuts 資料夾中。 KQL 資料庫會將快捷方式視為外部數據表。 若要查詢快捷方式,請使用 external_table
Kusto 查詢語言 的函式。
我可以在哪裡存取快捷方式?
任何可在 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)
注意
Delta 格式不支援名稱中有空格字元的數據表。 在 Lakehouse 中,任何包含空格的快捷方式都不會探索為 Lakehouse 中的 Delta 數據表。
SQL
您也可以透過 Lakehouse 的 SQL 分析端點,在 Lakehouse 的 [資料表] 區段中讀取快捷方式。 您可以透過 Lakehouse 的模式選取器,或透過 SQL Server Management Studio (SSMS) 存取 SQL 分析端點。
SELECT TOP (100) *
FROM [MyLakehouse].[dbo].[MyShortcut]
即時智慧
KQL 資料庫中的快捷方式會辨識為外部數據表。 若要查詢快捷方式,請使用 external_table
Kusto 查詢語言 的函式。
external_table('MyShortcut')
| take 100
Analysis Services (英文)
您可以在 Lakehouse 的 [數據表] 區段中,為包含快捷方式的 Lakehouse 建立語意模型。 當語意模型以 Direct Lake 模式執行時,Analysis Services 可以直接從快捷方式讀取數據。
非網狀架構
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 位置、Azure Data Lake Storage (ADLS) Gen2、Amazon S3 和 Dataverse。
內部 OneLake 快捷方式
內部 OneLake 快捷方式可讓您參考現有 Fabric 項目內的數據。 這些專案包括 Lakehouse、KQL 資料庫和數據倉儲。 快捷方式可以指向相同專案內的資料夾位置、跨相同工作區內的專案,甚至是跨不同工作區中的專案。 當您跨專案建立快捷方式時,項目類型不需要相符。 例如,您可以在 Lakehouse 中建立指向數據倉儲數據的快捷方式。
當使用者透過另一個 OneLake 位置的快捷方式存取數據時,呼叫使用者的身分識別會用來授權存取快捷方式目標路徑中的數據*。 此用戶必須具有目標位置的許可權,才能讀取數據。
重要
透過Power BI語意模型或T-SQL存取快捷方式時, 呼叫使用者的身分識別不會傳遞至快捷方式目標。 呼叫項目擁有者的身分識別會改為傳遞,並委派對呼叫使用者的存取權。
ADLS 快捷方式
您也可以建立 ADLS Gen2 記憶體帳戶的快捷方式。 當您建立 ADLS 的快捷方式時,目標路徑可以指向階層命名空間內的任何資料夾。 目標路徑至少必須包含容器名稱。
存取
ADLS 快捷方式必須指向記憶體帳戶的 DFS 端點。
範例: https://accountname.dfs.core.windows.net/
如果您的記憶體帳戶受到記憶體防火牆的保護,您可以設定受信任的服務存取。 請參閱 受信任的工作區存取
授權
ADLS 快捷方式會使用委派的授權模型。 在此模型中,快捷方式建立者會指定ADLS快捷方式的認證,以及使用該認證授權存取該快捷方式的所有存取權。 支援的委派類型為組織帳戶、帳戶密鑰、共用存取簽章(SAS)和服務主體。
- 組織帳戶 - 必須在記憶體帳戶上具有記憶體 Blob 數據讀取者、記憶體 Blob 數據參與者或記憶體 Blob 數據參與者或記憶體 Blob 數據擁有者角色
- 共用存取簽章 (SAS) - 至少必須包含下列許可權:讀取、清單及執行
- 服務主體 - 必須在記憶體帳戶上具有記憶體 Blob 數據讀取者、記憶體 Blob 數據參與者或記憶體 Blob 數據參與者或記憶體 Blob 數據擁有者角色
注意
您必須在 ADLS Gen 2 記憶體帳戶上啟用階層命名空間。
S3 快捷方式
您也可以建立 Amazon S3 帳戶的快捷方式。 當您建立 Amazon S3 的快捷方式時,目標路徑至少必須包含貯體名稱。 S3 原本不支持階層命名空間,但您可以使用前置詞來模擬目錄結構。 您可以在快捷方式路徑中包含前置詞,以進一步縮小可透過快捷方式存取的數據範圍。 當您透過 S3 快捷方式存取資料時,前置詞會表示為資料夾。
存取
S3 快捷方式必須指向 S3 貯體的 HTTPs 端點。
範例: https://bucketname.s3.region.amazonaws.com/
注意
您不需要針對 S3 帳戶停用 S3 封鎖公用存取設定,S3 快捷方式才能運作。
記憶體防火牆或虛擬私人雲端不得封鎖對 S3 端點的存取。
授權
S3 快捷方式會使用委派的授權模型。 在此模型中,快捷方式建立者會指定 S3 快捷方式的認證,以及使用該認證授權存取該快捷方式的所有存取權。 支援的委派認證是IAM用戶的金鑰和秘密。
IAM 用戶必須在快速鍵指向的貯體上具有下列許可權。
S3:GetObject
S3:GetBucketLocation
S3:ListBucket
注意
S3 快捷方式是唯讀的。 無論 IAM 使用者的許可權為何,他們都不支援寫入作業。
Google Cloud Storage 快捷方式 (預覽)
您可以使用適用於 GCS 的 XML API,建立 Google Cloud Storage(GCS) 的快捷方式。 當您建立Google Cloud Storage的快捷方式時,目標路徑至少必須包含貯體名稱。 您也可以藉由進一步指定您想要指向記憶體階層內的前置詞/資料夾,來限制快捷方式的範圍。
存取
設定 GCS 快捷方式的連線時,您可以指定記憶體服務的全域端點或使用貯體特定端點。
- 全域端點範例:
https://storage.googleapis.com
- 貯體特定端點範例:
https://<BucketName>.storage.googleapis.com
授權
GCS 快捷方式會使用委派的授權模型。 在此模型中,快捷方式建立者會指定 GCS 快捷方式的認證,以及使用該認證授權存取該快捷方式的所有存取權。 支援的委派認證是服務帳戶或用戶帳戶的 HMAC 金鑰和秘密。
帳戶必須具有存取 GCS 貯體內數據的許可權。 如果在快捷方式的連線中使用貯體特定端點,帳戶必須具有下列許可權:
storage.objects.get
stoage.objects.list
如果全域端點用於快捷方式的連線中,帳戶也必須具有下列許可權:
storage.buckets.list
注意
GCS 快捷方式是唯讀的。 不論所使用的帳戶許可權為何,它們都不支援寫入作業。
Dataverse 快捷方式
Dataverse 與 Microsoft Fabric 的直接整合可讓組織將其 Dynamics 365 企業應用程式和商務程式延伸至 Fabric。 此整合可透過快捷方式來完成,其可透過兩種方式建立:透過PowerApps製作者入口網站或透過 Fabric 直接建立。
透過PowerApps Maker入口網站建立快捷方式
授權的PowerApps使用者可以存取PowerApps製作者入口網站,並使用 連結來Microsoft網狀架構 功能。 從這個單一動作中,會在 Fabric 中建立 Lakehouse,而且會自動為 Dataverse 環境中的每個數據表產生快捷方式。 如需詳細資訊,請參閱 Dataverse 與 Microsoft Fabric 的直接整合。
透過網狀架構建立快捷方式
網狀架構使用者也可以建立 Dataverse 的快捷方式。 從建立快捷方式 UX,使用者可以選取 Dataverse、提供其環境 URL,以及瀏覽可用的數據表。 此體驗可讓用戶選擇性地選擇要帶入 Fabric 的數據表,而不是帶入所有數據表。
注意
Dataverse 數據表必須先在 Dataverse Managed Lake 中取得,才能在 Fabric 建立快捷方式 UX 中看到數據表。 如果您的數據表無法從 Fabric 顯示,請使用 PowerApps 製作者入口網站的 [連結] Microsoft Fabric 功能。
授權
Dataverse 快捷方式會使用委派的授權模型。 在此模型中,快捷方式建立者會指定 Dataverse 快捷方式的認證,而該快捷方式的所有存取都會使用該認證獲得授權。 支援的委派認證類型為組織帳戶 (OAuth2)。 組織帳戶必須具有系統管理員許可權,才能存取 Dataverse Managed Lake 中的數據。
注意
新增至網狀架構工作區的服務主體必須具有管理員角色,才能授權 Dataverse 快捷方式。
快取
快捷方式快取可用來降低與跨雲端數據存取相關聯的輸出成本。 當檔案透過外部快捷方式讀取時,檔案會儲存在 Fabric 工作區的快取中。 後續讀取要求會從快取提供,而不是遠端記憶體提供者。 快取的檔案保留期間為24小時。 每次存取檔案時,都會重設保留期間。 如果遠端儲存提供者中的檔案比快取中的檔案還新,則會從遠端儲存提供者提供要求,而且更新的檔案會儲存在快取中。 如果檔案尚未存取超過 24 小時,則會從快取中清除。 不會快取大小大於 1 GB 的個別檔案。
注意
目前僅支援 GCS、S3 和 S3 相容快捷方式的快捷方式快取。
若要啟用快捷方式的快取,請開啟 [ 工作區設定 ] 面板。 選擇 [ OneLake ] 索引標籤。將快取設定切換為 [開啟 ],然後選取 [ 儲存]。
快捷方式如何使用雲端連線
ADLS 和 S3 快捷方式授權是使用雲端連線來委派。 當您建立新的 ADLS 或 S3 快捷方式時,您可以建立新的連線,或選取數據源的現有連線。 設定快捷方式的連接是系結作業。 只有具有連線許可權的使用者才能執行系結作業。 如果您沒有連線的許可權,就無法使用該連線來建立新的快捷方式。
快捷方式安全性
快捷方式需要特定許可權才能管理和使用。 OneLake 快捷方式安全性 會查看建立快捷方式和存取數據所需的許可權。
快捷方式如何處理刪除?
快捷方式不會執行串聯刪除。 當您在快捷方式上執行刪除作業時,只會刪除快捷方式物件。 快捷方式目標中的數據會保持不變。 不過,如果您在快捷方式內的檔案或資料夾上執行刪除作業,而且您在快捷方式目標中具有執行刪除作業的許可權,則會在目標中刪除檔案和/或資料夾。 下列範例說明這點。
刪除範例
使用者 A 具有具有下列路徑的 Lakehouse:
MyLakehouse\Files\MyShortcut\Foo\Bar
MyShortcut 是指向包含 Foo\Bar 目錄的 ADLS Gen2 帳戶的快捷方式。
刪除快捷方式物件
使用者 A 會在下列路徑上執行刪除工作:
MyLakehouse\Files\MyShortcut
在此情況下, MyShortcut 會從 Lakehouse 中刪除。 快捷方式不會執行串聯刪除,因此 ADLS Gen2 帳戶 Foo\Bar 中的檔案和目錄仍不會受到影響。
刪除快捷方式所參考的內容
使用者 A 會在下列路徑上執行刪除工作:
MyLakehouse\Files\MyShortcut\Foo\Bar
在此情況下,如果使用者 A 在 ADLS Gen2 帳戶中具有寫入許可權, 則會從 ADLS Gen2 帳戶中刪除 Bar 目錄。
工作區譜系檢視
在工作區內的多個 Fabric 項目之間建立快捷方式時,您可以透過工作區譜系檢視將快捷方式關聯性可視化。 選取 [工作區總管] 右上角的 [歷程檢視 ] 按鈕 ( )。
注意
譜系檢視的範圍設定為單一工作區。 選取工作區外部位置的快捷方式不會出現。
限制與考量
- 每個 Fabric 專案的最大快捷方式數目為 100,000。 在此內容中,專案一詞是指:應用程式、Lakehouse、倉儲、報表等等。
- 單一 OneLake 路徑中的快捷方式數目上限為 10。
- 快捷方式連結的直接快捷方式數目上限為 5。
- ADLS 和 S3 快捷方式目標路徑不能包含 RFC 3986 區段 2.2 中的任何保留字元。 如需允許的字元,請參閱 RFC 3968 第 2.3 節。
- OneLake 快捷方式名稱、父路徑和目標路徑不能包含 「%」 或 「+」 字元。
- 快捷方式不支援非拉丁字元。
- ADLS 或 S3 快捷方式不支援複製 Blob API。
- 複製函式不適用於直接指向ADLS容器的快捷方式。 建議建立至少在容器下方一層目錄的ADLS快捷方式。
- 無法在ADLS或 S3 快捷方式內建立其他快捷方式。
- 目前無法使用數據倉儲和語意模型的快捷方式歷程。