Bekannte Probleme mit Azure Data Lake Storage Gen2

In diesem Artikel werden Einschränkungen und bekannte Probleme mit Konten beschrieben, bei denen das Feature für hierarchische Namespaces aktiviert ist.

Hinweis

Einige der in diesem Artikel beschriebenen Features werden möglicherweise nicht bei Konten unterstützt, für die Unterstützung für NFS 3.0 (Network File System) aktiviert ist. Eine Tabelle mit den Auswirkungen der Featureunterstützung, wenn verschiedene Funktionen aktiviert sind, finden Sie unter Unterstützung von Blob Storage-Features in Azure Storage-Konten.

Unterstützte Blob Storage-Features

Immer mehr Blob Storage-Features funktionieren nun mit Konten, die über einen hierarchischen Namespace verfügen. Eine vollständige Liste finden Sie unter Verfügbare Blob Storage-Features in Azure Data Lake Storage Gen2.

Unterstützte Azure-Dienstintegrationen

Azure Data Lake Storage Gen2 unterstützt verschiedene Azure-Dienste, die Sie zum Erfassen von Daten, zum Durchführen von Analysen und zum Erstellen visueller Darstellungen verwenden können. Eine Liste der unterstützten Azure-Dienste finden Sie unter Azure-Dienste, die Azure Data Lake Storage Gen2 unterstützen.

Weitere Informationen finden Sie unter Azure-Dienste, die Azure Data Lake Storage Gen2 unterstützen.

Unterstützte Open-Source-Plattformen

Mehrere Open-Source-Plattformen unterstützen Data Lake Storage Gen2. Eine vollständige Liste finden Sie unter Open-Source-Plattformen, die Azure Data Lake Storage Gen2 unterstützen.

Weitere Informationen finden Sie unter Open-Source-Plattformen, die Azure Data Lake Storage Gen2 unterstützen.

Blob Storage-APIs

Data Lake Storage Gen2-APIs, NFS 3.0 und Blob-APIs können mit denselben Daten arbeiten.

In diesem Abschnitt werden Probleme und Einschränkungen bei der Verwendung von Blob-APIs, NFS 3.0 und Data Lake Storage Gen2-APIs für dieselben Daten beschrieben.

  • Sie können Blob-APIs, NFS 3.0 und Data Lake Storage-APIs nicht zum Schreiben in dieselbe Instanz einer Datei verwenden. Wenn Sie mithilfe von Data Lake Storage Gen2-APIs oder NFS 3.0 in eine Datei schreiben, sind die Blöcke dieser Datei für Aufrufe der Blob-API Get Block List nicht sichtbar. Die einzige Ausnahme ist, wenn Sie etwas überschreiben. Sie können eine Datei oder ein Blob mithilfe der APIs oder mit NFS 3.0 überschreiben, indem Sie die Option zero-truncate verwenden.

    Blobs, die mithilfe eines Data Lake Storage Gen2-Vorgangs erstellt werden, z. B. Path - Create-Operation, können nicht mithilfe von PutBlock oder PutBlockList-Operationen überschrieben werden, aber sie können mit einem PutBlob-Vorgang überschrieben werden, wobei die maximal zulässige Größe des Blobs von der entsprechenden API-Version, die PutBlob verwendet, vorgegeben wird.

  • Wenn Sie den Vorgang Auflisten von Blobs verwenden, ohne ein Trennzeichen anzugeben, enthalten die Ergebnisse sowohl Verzeichnisse als auch Blobs. Wenn Sie sich für Trennzeichen entscheiden, sollten Sie nur einen Schrägstrich (/) verwenden. Dies ist das einzige Trennzeichen, das unterstützt wird.

  • Wenn Sie die API zum Löschen eines Blobs zum Löschen eines Verzeichnisses verwenden, wird dieses Verzeichnis nur gelöscht, wenn es leer ist. Dies bedeutet, dass Sie die Blob-API zum Löschen von Verzeichnissen nicht rekursiv verwenden können.

Diese Blob-Rest-APIs werden nicht unterstützt:

Nicht verwaltete VM-Datenträger werden in Konten mit einem hierarchischen Namespace nicht unterstützt. Wenn Sie einen hierarchischen Namespace für ein Speicherkonto aktivieren möchten, sollten Sie verwaltete VM-Datenträger in einem Speicherkonto anordnen, für das die Funktion für hierarchische Namespaces nicht aktiviert ist.

Unterstützung für das rekursive Festlegen von Zugriffssteuerungslisten (Access Control Lists, ACLs)

Die Möglichkeit, ACL-Änderungen aus dem übergeordneten Verzeichnis rekursiv auf untergeordnete Elemente anzuwenden, ist allgemein verfügbar. Im aktuellen Release dieser Funktion können Sie ACL-Änderungen mithilfe von Azure Storage-Explorer, PowerShell, der Azure-Befehlszeilenschnittstelle sowie mit dem .NET SDK, dem Java SDK und dem Python SDK anwenden. Unterstützung für das Azure-Portal ist noch nicht verfügbar.

Zugriffssteuerungslisten (Access Control Lists, ACLs) und anonymer Lesezugriff

Wenn anonymer Lesezugriff für einen Container gewährt wurde, haben ACLs keine Auswirkungen auf diesen Container oder die darin enthaltenen Dateien. Dies wirkt sich nur auf Leseanforderungen aus. Bei Schreibanforderungen werden die ACLs weiterhin berücksichtigt. Es wird empfohlen, für alle Blobdatenanforderungen eine Autorisierung zu verlangen.

AzCopy

Verwenden Sie nur die neueste Version von AzCopy (AzCopy v10). Frühere Versionen von AzCopy wie z. B. AzCopy v8.1 werden nicht unterstützt.

Azure Storage-Explorer

Verwenden Sie nur Versionen ab 1.6.0.

Speicherbrowser im Azure-Portal

In dem im Azure-Portal angezeigten Speicherbrowser ist es nicht möglich, auf eine Datei oder einen Ordner zuzugreifen, indem Sie einen Pfad angeben. Stattdessen müssen Sie durch Ordner navigieren, um zu einer Datei zu gelangen. Wenn einem Benutzer in einer ACL Lesezugriff auf eine Datei, aber nicht auf alle Ordner gewährt wird, durch die der Benutzer bis zur Datei navigieren muss, ist dieser Benutzer daher nicht in der Lage, die Datei im Speicherbrowser anzuzeigen.

Drittanbieteranwendungen

Drittanbieteranwendungen, die REST-APIs verwenden, funktionieren auch weiterhin, wenn Sie sie mit Data Lake Storage Gen2 verwenden. Anwendungen, die Blob-APIs aufrufen, funktionieren wahrscheinlich.

WASB-Treiber (Windows Azure Storage Blob)

Derzeit treten beim WASB-Treiber, der nur für die Verwendung mit der Blob-API entwickelt wurde, in einigen gängigen Szenarien Probleme auf. Dies gilt insbesondere, wenn es sich um einen Client für ein Speicherkonto mit aktiviertem hierarchischem Namespace handelt. Durch einen Multiprotokollzugriff für Data Lake Storage lassen sich diese Probleme nicht beheben.

Die Verwendung des WASB-Treibers als Client für ein Speicherkonto mit aktiviertem hierarchischem Namespace wird nicht unterstützt. Stattdessen empfehlen wir, in Ihrer Hadoop-Umgebung den ABFS-Treiber (Azure Blob File System) zu verwenden. Wenn Sie versuchen, eine Migration von einer lokalen Hadoop-Umgebung mit einer früheren Version als Hadoop Branch-3 durchzuführen, öffnen Sie bitte ein Azure-Supportticket, damit wir uns mit Ihnen in Verbindung setzen können, um den richtigen Weg für Sie und Ihre Organisation zu finden.

Weiches Löschen für Blobs möglich

Wenn übergeordnete Verzeichnisse von vorläufig gelöschten Dateien oder Verzeichnissen umbenannt wurden, werden die vorläufig gelöschten Elemente möglicherweise nicht ordnungsgemäß im Azure-Portal angezeigt. In solchen Fällen können Sie PowerShell oder Azure CLI verwenden, um die vorläufig gelöschten Elemente aufzulisten und wiederherzustellen.

Ereignisse

Wenn Ihr Konto über ein Ereignisabonnement verfügt, führen Lesevorgänge am sekundären Endpunkt zu einem Fehler. Entfernen Sie Ereignisabonnements, um dieses Problem zu beheben. Bei Verwendung des Data Lake Storage-Endpunkts (abfss://URI) für Konten mit aktiviertem nicht hierarchischem Namespace werden keine Ereignisse generiert, aber der Blob-Endpunkt (wasb://URI) generiert Ereignisse.

Tipp

Lesezugriff auf den sekundären Endpunkt ist nur möglich, wenn Sie georedundanten Speicher mit Lesezugriff (RA-GRS) oder geozonenredundanten Speicher mit Lesezugriff (RA-GZRS) aktivieren.