連線至 Microsoft OneLake
Microsoft OneLake 透過現有 Azure Data Lake Storage (ADLS) Gen2 API 和 SDK 為您提供所有 Fabric 項目的開放式存取。 您可以改為使用 OneLake URI,透過任何與 ADLS Gen2 相容的 API、SDK 或工具,存取 OneLake 中的資料。 您可以透過 Azure 儲存體總管將資料上傳至 Lakehouse,或透過 Azure Databricks 的捷徑讀取差異資料表。
由於 OneLake 是軟體即服務 (SaaS),因此部分作業 (例如管理權限或更新項目) 必須透過 Fabric 體驗來完成,而不是 ADLS Gen2 API。 如需這些 API 變更的完整清單,請參閱 OneLake API 同位。
URI 語法
由於 OneLake 存在於整個 Microsoft Fabric 租用戶中,您可以依租用戶的工作區、項目和路徑來參考租用戶中的任何項目:
https://onelake.dfs.fabric.microsoft.com/<workspace>/<item>.<itemtype>/<path>/<fileName>
注意
因為您可以跨多個項目類型重複使用項目名稱,所以必須在延伸項目中指定項目類型。 例如,.lakehouse
用於 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 -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.core.windows.net
) 不同的端點 (dfs.fabric.microsoft.com
),所以部分工具會無法辨識 OneLake 端點並加以封鎖。 部分工具可讓您使用自訂端點 (例如 PowerShell)。 否則,您通常可以將 OneLake 的端點新增為支援的端點來進行簡單修正。 如果您發現 URL 驗證問題或連線到 OneLake 的任何其他問題,請聯絡我們。
範例
建立檔案
要求 | 放置 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 本文: |