Bekannte Probleme mit Azure Data Lake Storage
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.
Unterstützte Azure-Dienstintegrationen
Azure Data Lake Storage 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 mit Unterstützung für Azure Data Lake Storage.
Weitere Informationen finden Sie unter Azure-Dienste mit Unterstützung für Azure Data Lake Storage.
Unterstützte Open-Source-Plattformen
Mehrere Open-Source-Plattformen unterstützen Data Lake Storage. Eine vollständige Liste finden Sie unter Open-Source-Plattformen mit Unterstützung für Azure Data Lake Storage.
Weitere Informationen finden Sie unter Open-Source-Plattformen mit Unterstützung für Azure Data Lake Storage.
Blob Storage-APIs
Data Lake Storage-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-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-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-Vorgangs erstellt werden, z. B. der Vorgang Pfad - Erstellen, können nicht mithilfe der Vorgänge PutBlock oder PutBlockList ü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 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.