Azure Data Lake Storage Gen2 的已知問題

本文描述已啟用階層命名空間功能的帳戶限制和已知問題。

注意

本文所述的某些功能在已啟用網路檔案系統 (NFS) 3.0 支援的帳戶中,可能不受支援。 若要在啟用各種功能時,檢視顯示功能支援影響的資料表,請參閱 Azure 儲存體帳戶中的 Blob 儲存體功能支援

支援的 Blob 儲存體功能

持續增加的 Blob 儲存體功能,現在可用於具有階層式命名空間的帳戶。 如需完整清單,請參閱 Azure Data Lake Storage Gen2 中可用的 Blob 儲存體功能

支援的 Azure 服務整合

Azure Data Lake Storage Gen2 支援數個 Azure 服務,其可用於內嵌資料、執行分析,以及建立視覺表示法。 如需支援的 Azure 服務清單,請參閱支援 Azure Data Lake Storage Gen2 的 Azure 服務

如需詳細資訊,請參閱支援 Azure Data Lake Storage Gen2 的 Azure 服務

支援的開放原始碼平台

數個開放原始碼平台支援 Data Lake Storage Gen2。 如需完整清單,請參閱支援 Azure Data Lake Storage Gen2 的開放原始碼平台

如需詳細資訊,請參閱支援 Azure Data Lake Storage Gen2 的開放原始碼平台

Blob 儲存體 API

Data Lake Storage Gen2 API、NFS 3.0 和 Blob API 可以對相同資料進行操作。

本節描述使用 Blob API、NFS 3.0 和 Data Lake Storage Gen2 API 來對相同資料進行操作時的問題和限制。

  • 您無法同時使用 Blob API、NFS 3.0 和 Data Lake Storage API 來寫入檔案的相同執行個體。 如果使用 Data Lake Storage Gen2 API 或 NFS 3.0 來寫入檔案,則呼叫取得區塊清單 Blob API 將不會顯示該檔案的區塊。 唯一的例外狀況是進行覆寫時。 您可以使用任一 API 或搭配 NFS 3.0,藉由使用零截斷選項來覆寫檔案/Blob。

    使用 Data Lake Storage Gen2 作業建立的 Blob (例如 Path - Create 作業) 無法使用 PutBlockPutBlockList 作業來覆寫,但可以使用 PutBlob 作業來覆寫 Blob 作業,並受限於 PutBlob 所使用對應 API 版本所制定的允許 Blob 大小上限。

  • 當使用 List Blobs 作業而不指定分隔符號時,結果會同時包含目錄和 Blob。 如果選擇使用分隔符號,請僅使用正斜線 (/)。 這是唯一支援的分隔符號。

  • 如果使用 Delete Blob API 來刪除目錄,則只有當該目錄為空時才會將其刪除。 這表示您無法以遞迴方式使用 Blob API 來刪除目錄。

不支援這些 Blob REST API:

具有階層式命名空間的帳戶不支援非受控 VM 磁碟。 如果要在儲存體帳戶上啟用階層命名空間,請將非受控 VM 磁碟放入沒有啟用階層命名空間功能的儲存體帳戶。

支援以遞迴方式設定存取控制清單 (ACL)

以遞迴方式將 ACL 變更從父目錄套用到子項目的功能已正式推出。 在此功能的目前版本中,您可以使用 Azure 儲存體總管、PowerShell、Azure CLI 以及 .NET、Java 和 Python SDK 來套用 ACL 變更。 Azure 入口網站尚未支援。

存取控制清單 (ACL) 和匿名讀取權限

如果已將匿名讀取權限授與容器,則 ACL 不會影響該容器或該容器中的檔案。 這只會影響讀取要求。 寫入要求仍會接受 ACL。 我們建議對 Blob 資料的所有要求進行授權驗證。

AzCopy

請僅使用最新版本的 AzCopy (AzCopy v10)。 不支援舊版的 AzCopy (例如 AzCopy 8.1)。

Azure 儲存體總管

請僅使用 1.6.0 版或更高版本。

Azure 入口網站中的儲存體瀏覽器

在 Azure 入口網站中顯示的儲存體瀏覽器中,您無法透過指定路徑來存取檔案或資料夾。 您必須改為瀏覽至資料夾才能存取檔案。 因此,如果 ACL 授與使用者對檔案的讀取存取權,但未授與該檔案上層所有資料夾的讀取存取權,則該使用者將無法在儲存體瀏覽器中檢視檔案。

第三方應用程式

如果您將使用 REST API 以便運作的第三方應用程式與 Data Lake Storage Gen2 搭配使用,則這些應用程式可持續運作。 呼叫 Blob API 的應用程式也可能會運作。

Windows Azure 儲存體 Blob (WASB) 驅動程式

目前,僅設計用於 Blob API 的 WASB 驅動程式會在少數常見案例中遇到問題。 具體來說,當其是已啟用階層命名空間的儲存體帳戶用戶端時。 Data Lake Storage 上的多重通訊協定存取無法減輕這些問題。

不支援使用 WASB 驅動程式作為已啟用階層命名空間的儲存體帳戶用戶端。 反之,我們建議在 Hadoop 環境中使用 Azure Blob File System (ABFS) 驅動程式。 如果要嘗試使用早於 Hadoop 分支 3 版本的內部部署 Hadoop 環境進行移轉,請開啟 Azure 支援票證以供連絡來為您和組織指出正確的方向。

適用於 Blob 的虛刪除功能

如果已重新命名虛刪除檔案或目錄的父目錄,則可能無法在 Azure 入口網站中正確顯示虛刪除的項目。 在這種情況下,您可以使用 PowerShellAzure CLI 來列出和還原虛刪除的項目。

事件

如果您的帳戶有事件訂用帳戶,次要端點的讀取作業會導致錯誤。 若要解決此問題,請移除事件訂用帳戶。 針對已啟用非階層命名空間的帳戶使用 Data Lake Storage 端點 (abfss://URI) 不會產生事件,但 Blob 端點 (wasb:// URI) 會產生事件。

提示

次要區域的讀取存取權只有在您啟用讀取存取異地備援儲存體 (RA-GRS),或讀取存取異地區域備援儲存體 (RA-GZRS) 時,才可以使用。