連線至 Microsoft OneLake
Microsoft OneLake 透過現有 Azure Data Lake Storage (ADLS) Gen2 API 和 SDK 為您提供所有 Fabric 項目的開放式存取。 您可以改為使用 OneLake URI,透過任何與 ADLS Gen2 相容的 API、SDK 或工具,存取 OneLake 中的資料。 您可以透過 Azure 儲存體總管將資料上傳至 Lakehouse,或透過 Azure Databricks 的捷徑讀取 Delta 表。
由於 OneLake 是軟體即服務(SaaS),某些作業,例如管理許可權或更新專案,必須透過網狀架構體驗來完成,而且無法透過 ADLS Gen2 API 來完成。 如需這些 API 變更的完整清單,請參閱 OneLake API 同位。
URI 語法
由於 OneLake 存在於整個 Microsoft Fabric 租戶中,您可以依租戶的工作區、物件和路徑來參考租戶中的任何物件:
https://onelake.dfs.fabric.microsoft.com/<workspace>/<item>.<itemtype>/<path>/<fileName>
注意
因為您可以跨多個項目類型重複使用項目名稱,所以必須在延伸項目中指定項目類型。 例如,.lakehouse
用於湖倉,而 .datawarehouse
用於倉儲。
OneLake 也支援參考具有全域唯一識別碼 (GUID) 的工作區和項目。 OneLake 會指派 GUID,且 GUID 不會變更,即使工作區或項目名稱經過變更也一樣。 您可以在 Fabric 入口網站的 URL 中找到工作區或項目的相關聯 GUID。 您必須使用 GUID 來標識工作區和項目,且不需要包含項目類型。
https://onelake.dfs.fabric.microsoft.com/<workspaceGUID>/<itemGUID>/<path>/<fileName>
在選擇使用於 OneLake 的工具以取代 ADLS Gen2 時,請依照下列對應來使用:
- 帳號名稱一律為
onelake
。 - 容器名稱是您的工作區名稱。
- 資料路徑會以項目開始。 例如:
/mylakehouse.lakehouse/Files/
。
OneLake 也支援 Azure Blob Filesystem 驅動程式 (ABFS),進而與 ADLS Gen2 和 Azure Blob 儲存體 更為相容。 ABFS 驅動程式會使用自有的配置識別碼 abfs
和不同的 URI 格式來處理 ADLS Gen2 帳戶中的檔案和目錄。 若要透過 OneLake 使用此 URI 格式,請交換文件系統的工作區,並包含項目和項目類型。
abfs[s]://<workspace>@onelake.dfs.fabric.microsoft.com/<item>.<itemtype>/<path>/<fileName>
ABFS 驅動程式 URI 不允許工作區名稱中出現特殊字元 (例如空格)。 在這些情況下,您可以參考具有全域唯一識別碼 (GUID) 的工作區和項目,如本章節稍早所述。
授權
您可以透過傳遞授權標頭來使用 Microsoft Entra ID 驗證 OneLake API。 如果有工具允許登入您的 Azure 帳戶以啟用代幣傳遞,您可以選擇任何訂用帳戶。 OneLake 只需要您的使用者權杖,且不在意您的 Azure 訂用帳戶。
直接透過 DFS API 呼叫 OneLake 時,您可以使用 Microsoft Entra 帳戶的持有人權杖進行驗證。 若要深入瞭解如何要求和管理組織的持有人權杖,請參閱 Microsoft 驗證程式庫。
如需使用直接 API 呼叫進行 OneLake 的快速臨時測試,以下是使用 PowerShell 登入 Azure 帳戶、擷取儲存體範圍權杖,並將其複製到剪貼板以方便在其他地方使用的簡單範例。 如需使用 PowerShell 擷取存取權杖的詳細資訊,請參閱 Get-AzAccessToken。
注意
OneLake 只支援特定對象 Storage
中的權杖。 在下列範例中,我們會透過 ResourceTypeName
參數設定對象。
Connect-AzAccount
$testToken = Get-AzAccessToken -AsSecureString -ResourceTypeName Storage
# Retrieved token is of string type which you can validate with the "$testToken.Token.GetTypeCode()" command.
$testToken.Token | Set-Clipboard
資料存放地
如果您使用全域端點 (''https://onelake.dfs.fabric.microsoft.com) 來查詢與您工作區區域不同的區域中的資料,則資料可能會在端點解析流程期間離開您的區域。 如果擔心資料落地問題,請針對工作區使用正確的區域端點,確保您的資料會保留在其目前區域內,且不會跨越任何區域邊界。 您可以檢查工作區所連結的容量區域,以找出正確的區域端點。
OneLake 區域端點全都遵循相同的格式:https://<region>-onelake.dfs.fabric.microsoft.com
。 例如,連結至美國西部區域容量的工作區可透過區域端點 https://westus-onelake.dfs.fabric.microsoft.com
存取。
常見問題
如果與 ADLS Gen2 相容的工具或套件無法透過 OneLake 運作,最可能出現問題的地方會是 URL 驗證。 因為 OneLake 使用與 ADLS Gen2 (dfs.fabric.microsoft.com
) 不同的端點 (dfs.core.windows.net
),所以部分工具會無法辨識 OneLake 端點並加以封鎖。 部分工具可讓您使用自訂端點 (例如 PowerShell)。 否則,通常只需將 OneLake 的端點新增為支援的端點,即可完成簡單的修正。 如果您發現 URL 驗證問題或連線到 OneLake 的任何其他問題,請聯絡我們。
資源
OneLake 可透過與 ADLS Gen2 相同的 API 和 SDK 來存取。 若要深入瞭解如何使用ADLS Gen2 API,請參閱下列頁面:
- ADLS Gen2 API 參考
- ADLS Gen2 文件系統 SDK
範例
建立檔案
要求 |
放 https://onelake.dfs.fabric.microsoft.com/{workspace}/{item}.{itemtype}/Files/sample?resource=file |
---|---|
標題 | Authorization: Bearer <userAADToken> |
回應 |
ResponseCode:201 Created 標頭: x-ms-version : 2021-06-08 x-ms-request-id : 272526c7-0995-4cc4-b04a-8ea3477bc67b x-ms-content-crc64 : OAJ6r0dQWP0= x-ms-request-server-encrypted : true ETag : 0x8DA58EE365 本文: |