共用方式為


AzCopy

AzCopy 是一個功能強大的命令行公用程式,旨在協助在 Azure 記憶體帳戶之間傳輸數據。 由於 Microsoft OneLake 支援與 Azure 記憶體相同的 API、SDK 和工具,因此您也可以使用 AzCopy 將數據載入 OneLake。 本文可協助您搭配 OneLake 使用 AzCopy,從在成品之間複製數據到上傳或下載數據。

為什麼要使用 AzCopy 和 OneLake?

AzCopy 已針對大規模資料平面的作業及數據移動進行優化。 當您在記憶體帳戶(包括 OneLake)之間複製數據時,數據會直接從記憶體伺服器移至記憶體伺服器,將效能瓶頸降至最低。 AzCopy 也易於使用且可靠,內建機制可處理網路中斷和重試。 使用 AzCopy,可以輕鬆地將數據上傳至 OneLake,或直接從現有來源將數據載入 Fabric 中的專案!

入門指南

如果您不熟悉 AzCopy,您可以在 開始使用 AzCopy 中瞭解如何下載並開始使用 AzCopy

當您搭配 OneLake 使用 AzCopy 時,有一些重點要記住:

  1. 使用 --trusted-microsoft-suffixes 參數,將 “fabric.microsoft.com” 新增為受信任的網域。
  2. 使用您的 Microsoft Entra ID 登入時,選取來源 Azure 儲存體帳戶的訂閱,因為 OneLake 只關心租賃戶。
  3. 在命令提示字元中使用 AzCopy 時,請使用雙引號,並在 PowerShell 中使用單引號。

本文中的範例也假設您的Microsoft Entra ID 具有適當的許可權來存取來源和目的地。

最後,您需要至少一個來源和一個目的地來進行資料移動 - 此頁面中的範例使用兩個 Fabric 資料湖屋和一個 ADLS 帳戶。

範例:在 Fabric 工作區之間複製資料

使用此範例,使用 azcopy copy 命令,將檔案從一個工作區中的 lakehouse 複製到不同的工作區。 請記得先執行 azcopy login ,先進行驗證。

語法


azcopy copy "https://onelake.dfs.fabric.microsoft.com/<source-workspace-name>/<source-item-name>/Files/<source-file-path>" "https://onelake.dfs.fabric.microsoft.com/<destination-workspace-name>/<destination-item-name>/Files/<destination-file-path>" --trusted-microsoft-suffixes "fabric.microsoft.com" 

複製作業是同步的,因此當命令傳回時,會複製所有檔案。

範例:使用共用存取簽章將數據從 ADLS 複製到 OneLake (SAS)

共用存取簽章 (SAS) 提供 Azure 記憶體和 OneLake 的短期委派存取權,而且是提供工具或使用者暫時存取記憶體的絕佳選項,可供一次性上傳或下載。 如果 Azure 記憶體帳戶位於與 OneLake 不同的租使用者中,SAS 也是絕佳的選項,因為如果租使用者不同,Entra 授權將無法運作。

此範例會使用唯一的 SAS 令牌向 Azure 記憶體和 OneLake 進行驗證。 若要深入瞭解如何搭配 Azure 記憶體和 OneLake 產生和使用 SAS 令牌,請參閱下列頁面:

備註

當使用 SAS 令牌在 AzCopy 中對 OneLake 進行驗證時,您必須將「-s2s-preserve-access-tier」參數設定為 false。


azcopy copy "https://<account-name>.blob.core.windows.net/<source-container-name>/<source-file-path>?<blob-sas-token>" "https://onelake.dfs.fabric.microsoft.com/<destination-workspace-name>/<destination-item-name>/Files/<destination-file-path>?<onelake-sas-token>" --trusted-microsoft-suffixes "fabric.microsoft.com" --s2s-preserve-access-tier=false

局限性

由於 OneLake 是受控數據湖,因此 AzCopy 不支援某些作業。 例如,您無法使用 AzCopy 來移動或複製整個專案或工作區。 相反地,使用 Fabric 體驗在目的地位置中建立新專案(例如入口網站),然後使用 AzCopy 將現有專案的內容移至新專案。