Azure Storage Files Data Lake-Clientbibliothek für .NET– Version 12.17.0
Serverversion: 2021-02-12, 2020-12-06, 2020-10-02, 2020-08-04, 2020-06-12, 2020-04-08, 2020-02-10, 2019-12-12, 2019-07-07 und 2019-02-02-02
Azure Data Lake umfasst alle erforderlichen Funktionen, die Entwickler, Data Scientists und Analysten benötigen, um Daten problemlos speichern zu können – und zwar unabhängig von der Größe, vom Format und von der Geschwindigkeit der Daten. Darüber hinaus können die Daten mit Data Lake auf verschiedene Art, auf verschiedenen Plattformen und unter Verwendung verschiedener Sprachen verarbeitet und analysiert werden. Mit Data Lake gehört die Komplexität beim Erfassen und Speichern von Daten der Vergangenheit an, und mit Batch-, Streaming- und interaktiven Analysen können Sie Ihre Analysen jetzt noch schneller ausführen.
Quellcode | Paket (NuGet) | API-Referenzdokumentation | REST-API-Dokumentation | Produktdokumentation
Erste Schritte
Installieren des Pakets
Installieren Sie die Azure Storage Files Data Lake-Clientbibliothek für .NET mit NuGet:
dotnet add package Azure.Storage.Files.DataLake
Voraussetzungen
Sie benötigen ein Azure-Abonnement und ein Speicherkonto , um dieses Paket verwenden zu können.
Zum Erstellen eines neuen Speicherkontos können Sie das Azure-Portal, Azure PowerShell oder die Azure CLI verwenden. Beispiel für die Verwendung der Azure-Befehlszeilenschnittstelle:
az storage account create --name MyStorageAccount --resource-group MyResourceGroup --location westus --sku Standard_LRS
Wichtige Begriffe
DataLake Storage Gen2 wurde für Folgendes konzipiert:
- Verarbeiten von Informationen mit mehreren Petabytes bei gleichzeitiger Beibehaltung von Hunderten von Gigabit Durchsatz
- Einfaches Verwalten großer Datenmengen
Zu den wichtigsten Features von DataLake Storage Gen2 gehören:
- Hadoop-kompatibler Zugriff
- Eine Obermenge von POSIX-Berechtigungen
- Kosteneffizient in Bezug auf kostengünstige Speicherkapazität und Transaktionen
- Optimierter Treiber für Big Data-Analysen
Ein wesentlicher Bestandteil von Data Lake Storage Gen2 ist das Hinzufügen eines hierarchischen Namespace zum Blobspeicher. Der hierarchische Namespace organisiert Objekte/Dateien in einer Hierarchie von Verzeichnissen für den effizienten Datenzugriff.
In der Vergangenheit mussten bei cloudbasierten Analysen Kompromisse in puncto Leistung, Verwaltung und Sicherheit eingegangen werden. Data Lake Storage Gen2 geht jeden dieser Aspekte auf folgende Weise an:
- Die Leistung ist optimiert, da Sie keine Daten als Voraussetzung für die Analyse kopieren oder transformieren müssen. Der hierarchische Namespace verbessert die Leistung von Verzeichnisverwaltungsvorgängen erheblich, wodurch die gesamte Auftragsverarbeitungsleistung gesteigert wird.
- Die Verwaltung ist einfacher, weil Sie Dateien mithilfe von Verzeichnissen und Unterverzeichnissen organisieren und bearbeiten können.
- Die Sicherheit ist durchsetzbar, da Sie POSIX-Berechtigungen für Verzeichnisse oder einzelne Dateien definieren können.
- Kosteneffizienz wird ermöglicht, da Data Lake Storage Gen2 auf kostengünstigem Azure Blob Storage aufsetzt. Durch diese zusätzlichen Features werden die Gesamtbetriebskosten für Big Data-Analysen in Azure weiter gesenkt.
Data Lake Storage Gen2 bietet zwei Arten von Ressourcen:
- Das über "DataLakeFileSystemClient" verwendete Dateisystem
- Der über "DataLakeFileClient" oder "DataLakeDirectoryClient" verwendete Pfad
ADLS Gen2 | Blob |
---|---|
Dateisystem | Container |
Pfad (Datei oder Verzeichnis) | Blob |
Hinweis: Diese Clientbibliothek unterstützt keine deaktivierten Speicherkonten für den hierarchischen Namespace (HNS).
Threadsicherheit
Wir garantieren, dass alle Client-instance Methoden threadsicher und unabhängig voneinander sind (Richtlinie). Dadurch wird sichergestellt, dass die Empfehlung, Clientinstanzen wiederzuverwenden, immer sicher ist, auch über Threads hinweg.
Zusätzliche Konzepte
Clientoptionen | Zugreifen auf die Antwort | Vorgänge | mit langer AusführungsdauerBehandeln von Fehlern | Diagnose | Spott | Clientlebensdauer
Beispiele
Erstellen eines DataLakeServiceClient
StorageSharedKeyCredential sharedKeyCredential = new StorageSharedKeyCredential(storageAccountName, storageAccountKey);
// Create DataLakeServiceClient using StorageSharedKeyCredentials
DataLakeServiceClient serviceClient = new DataLakeServiceClient(serviceUri, sharedKeyCredential);
Erstellen eines DataLakeFileSystemClient
StorageSharedKeyCredential sharedKeyCredential = new StorageSharedKeyCredential(storageAccountName, storageAccountKey);
// Create DataLakeServiceClient using StorageSharedKeyCredentials
DataLakeServiceClient serviceClient = new DataLakeServiceClient(serviceUri, sharedKeyCredential);
// Create a DataLake Filesystem
DataLakeFileSystemClient filesystem = serviceClient.GetFileSystemClient("sample-filesystem");
filesystem.Create();
Erstellen eines DataLakeDirectoryClient
StorageSharedKeyCredential sharedKeyCredential = new StorageSharedKeyCredential(storageAccountName, storageAccountKey);
// Create DataLakeServiceClient using StorageSharedKeyCredentials
DataLakeServiceClient serviceClient = new DataLakeServiceClient(serviceUri, sharedKeyCredential);
// Get a reference to a filesystem named "sample-filesystem-append" and then create it
DataLakeFileSystemClient filesystem = serviceClient.GetFileSystemClient("sample-filesystem-append");
filesystem.Create();
// Create
DataLakeDirectoryClient directory = filesystem.GetDirectoryClient("sample-file");
directory.Create();
Erstellen eines DataLakeFileClient
Erstellen von DataLakeFileClient aus einem DataLakeDirectoryClient
// Create a DataLake Directory
DataLakeDirectoryClient directory = filesystem.CreateDirectory("sample-directory");
directory.Create();
// Create a DataLake File using a DataLake Directory
DataLakeFileClient file = directory.GetFileClient("sample-file");
file.Create();
Erstellen von DataLakeFileClient aus einem DataLakeFileSystemClient
// Create a DataLake Filesystem
DataLakeFileSystemClient filesystem = serviceClient.GetFileSystemClient("sample-filesystem");
filesystem.Create();
// Create a DataLake file using a DataLake Filesystem
DataLakeFileClient file = filesystem.GetFileClient("sample-file");
file.Create();
Anfügen von Daten an eine DataLake-Datei
// Create a file
DataLakeFileClient file = filesystem.GetFileClient("sample-file");
file.Create();
// Append data to the DataLake File
file.Append(File.OpenRead(sampleFilePath), 0);
file.Flush(SampleFileContent.Length);
Lesen von Daten aus einer DataLake-Datei
Response<FileDownloadInfo> fileContents = file.Read();
Auflisten/Durchlaufen eines DataLake-Dateisystems
foreach (PathItem pathItem in filesystem.GetPaths())
{
names.Add(pathItem.Name);
}
Festlegen von Berechtigungen für eine DataLake-Datei
// Create a DataLake file so we can set the Access Controls on the files
DataLakeFileClient fileClient = filesystem.GetFileClient("sample-file");
fileClient.Create();
// Set the Permissions of the file
PathPermissions pathPermissions = PathPermissions.ParseSymbolicPermissions("rwxrwxrwx");
fileClient.SetPermissions(permissions: pathPermissions);
Festlegen von Zugriffssteuerungen (ACLs) für eine DataLake-Datei
// Create a DataLake file so we can set the Access Controls on the files
DataLakeFileClient fileClient = filesystem.GetFileClient("sample-file");
fileClient.Create();
// Set Access Control List
IList<PathAccessControlItem> accessControlList
= PathAccessControlExtensions.ParseAccessControlList("user::rwx,group::r--,mask::rwx,other::---");
fileClient.SetAccessControlList(accessControlList);
Abrufen von Zugriffssteuerungen (ACLs) für eine DataLake-Datei
// Get Access Control List
PathAccessControl accessControlResponse = fileClient.GetAccessControl();
Umbenennen einer DataLake-Datei
DataLakeFileClient renamedFileClient = fileClient.Rename("sample-file2");
Umbenennen eines DataLake-Verzeichnisses
DataLakeDirectoryClient renamedDirectoryClient = directoryClient.Rename("sample-directory2");
Abrufen von Eigenschaften für eine DataLake-Datei
// Get Properties on a File
PathProperties filePathProperties = fileClient.GetProperties();
Abrufen von Eigenschaften für ein DataLake-Verzeichnis
// Get Properties on a Directory
PathProperties directoryPathProperties = directoryClient.GetProperties();
Problembehandlung
Alle File DataLake-Dienstvorgänge lösen bei Fehlern eine RequestFailedException mit hilfreichenErrorCode
s aus. Viele dieser Fehler können wiederhergestellt werden.
Nächste Schritte
Erste Schritte mit unseren DataLake-Beispielen:
- Hallo Welt: Anfügen, Lesen und Auflisten von DataLake-Dateien (oder asynchron)
- Authentifizierung: Authentifizieren Sie sich mit öffentlichem Zugriff, freigegebenen Schlüsseln, Shared Access Signatures und Azure Active Directory.
Mitwirken
Ausführliche Informationen zum Erstellen, Testen und Mitwirken zu dieser Bibliothek finden Sie unter Storage CONTRIBUTING.md .
Beiträge und Vorschläge für dieses Projekt sind willkommen. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. Weitere Informationen finden Sie unter cla.microsoft.com.
Für dieses Projekt gelten die Microsoft-Verhaltensregeln für Open Source (Microsoft Open Source Code of Conduct). Weitere Informationen finden Sie in den häufig gestellten Fragen zum Verhaltenskodex. Sie können sich auch an opencode@microsoft.com wenden, wenn Sie weitere Fragen oder Anmerkungen haben.