Bestandssysteembewerkingen op Data Lake Storage Gen1 met behulp van de .NET SDK
In dit artikel leert u hoe u bestandssysteembewerkingen uitvoert op Data Lake Storage Gen1 met behulp van de .NET SDK. Bestandssysteembewerkingen omvatten het maken van mappen in een Data Lake Storage Gen1-account, het uploaden van bestanden, het downloaden van bestanden, enzovoort.
Zie Accountbeheerbewerkingen op Data Lake Storage Gen1 met behulp van .NET SDK voor instructies over het uitvoeren van accountbeheerbewerkingen op Data Lake Storage Gen1 met behulp van de .NET SDK.
Vereisten
Visual Studio 2013 of hoger. In de instructies in dit artikel wordt Visual Studio 2019 gebruikt.
Een Azure-abonnement. Zie Gratis proefversie van Azure ophalen.
Azure Data Lake Storage Gen1-account. Zie Aan de slag met Azure Data Lake Storage Gen1 voor instructies over het maken van een account.
Een .NET-toepassing maken
Dit codevoorbeeld beschikbaar in GitHub doorloopt het proces waarin bestanden in het archief worden gemaakt, bestanden worden samengevoegd, een bestand wordt gedownload en een aantal bestanden uit het archief wordt verwijderd. In dit gedeelte van het artikel komen de belangrijkste onderdelen van de code aan bod.
Selecteer in Visual Studio het menu Bestand , Nieuw en vervolgens Project.
Kies Console-app (.NET Framework) en selecteer vervolgens Volgende.
Voer in Projectnaam in
CreateADLApplication
en selecteer vervolgens Maken.Voeg de NuGet-pakketten toe aan het project.
Klik in Solution Explorer met de rechtermuisknop op de projectnaam en klik op Manage NuGet Packages.
Controleer op het tabblad NuGet Package Manager of Pakketbron is ingesteld op nuget.org. Zorg er ook voor dat het selectievakje Voorlopige versie opnemen is ingeschakeld.
Zoek en installeer de volgende NuGet-pakketten:
-
Microsoft.Azure.DataLake.Store
- In dit artikel wordt v1.0.0 gebruikt. -
Microsoft.Rest.ClientRuntime.Azure.Authentication
- In dit artikel wordt v2.3.1 gebruikt.
Sluit NuGet Package Manager.
-
Open Program.cs, verwijder de bestaande code en neem de volgende instructies op om verwijzingen naar naamruimten toe te voegen.
using System; using System.IO;using System.Threading; using System.Linq; using System.Text; using System.Collections.Generic; using System.Security.Cryptography.X509Certificates; // Required only if you're using an Azure AD application created with certificates using Microsoft.Rest; using Microsoft.Rest.Azure.Authentication; using Microsoft.Azure.DataLake.Store; using Microsoft.IdentityModel.Clients.ActiveDirectory;
Declareer de variabelen zoals hieronder wordt weergegeven en vervang de tijdelijke aanduidingen door waarden. Zorg er ook voor dat het lokale pad en de bestandsnaam die u hier opgeeft al bestaan op de computer.
namespace SdkSample { class Program { private static string _adlsg1AccountName = "<DATA-LAKE-STORAGE-GEN1-NAME>.azuredatalakestore.net"; } }
In de resterende secties van het artikel ziet u hoe u de beschikbare .NET-methoden gebruikt om bewerkingen uit te voeren, zoals verificatie, het uploaden van bestanden, enzovoort.
Verificatie
- Zie Eindgebruikersverificatie met Data Lake Storage Gen1 met behulp van .NET SDK voor eindgebruikersverificatie voor uw toepassing.
- Zie Service-naar-serviceverificatie met Data Lake Storage Gen1 met behulp van .NET SDK voor service-naar-serviceverificatie voor uw toepassing.
Clientobject maken
Met het volgende codefragment wordt het clientobject Data Lake Storage Gen1 bestandssysteem gemaakt, dat wordt gebruikt om aanvragen uit te geven aan de service.
// Create client objects
AdlsClient client = AdlsClient.CreateClient(_adlsg1AccountName, adlCreds);
Een bestand en map maken
Voeg het volgende codefragment toe aan uw toepassing. Met dit fragment wordt een bestand en een bovenliggende map toegevoegd die niet bestaat.
// Create a file - automatically creates any parent directories that don't exist
// The AdlsOutputStream preserves record boundaries - it does not break records while writing to the store
using (var stream = client.CreateFile(fileName, IfExists.Overwrite))
{
byte[] textByteArray = Encoding.UTF8.GetBytes("This is test data to write.\r\n");
stream.Write(textByteArray, 0, textByteArray.Length);
textByteArray = Encoding.UTF8.GetBytes("This is the second line.\r\n");
stream.Write(textByteArray, 0, textByteArray.Length);
}
Toevoegen aan een bestand
Met het volgende codefragment worden gegevens toegevoegd aan een bestaand bestand in Data Lake Storage Gen1-account.
// Append to existing file
using (var stream = client.GetAppendStream(fileName))
{
byte[] textByteArray = Encoding.UTF8.GetBytes("This is the added line.\r\n");
stream.Write(textByteArray, 0, textByteArray.Length);
}
Een bestand lezen
Het volgende codefragment leest de inhoud van een bestand in Data Lake Storage Gen1.
//Read file contents
using (var readStream = new StreamReader(client.GetReadStream(fileName)))
{
string line;
while ((line = readStream.ReadLine()) != null)
{
Console.WriteLine(line);
}
}
Bestandseigenschappen opvragen
Het volgende codefragment retourneert de eigenschappen die zijn gekoppeld aan een bestand of map.
// Get file properties
var directoryEntry = client.GetDirectoryEntry(fileName);
PrintDirectoryEntry(directoryEntry);
De definitie van de PrintDirectoryEntry
methode is beschikbaar als onderdeel van het voorbeeld op GitHub.
De naam van een bestand wijzigen
Het volgende codefragment wijzigt de naam van een bestaand bestand in een Data Lake Storage Gen1-account.
// Rename a file
string destFilePath = "/Test/testRenameDest3.txt";
client.Rename(fileName, destFilePath, true);
Een map opsommen
In het volgende codefragment worden mappen in een Data Lake Storage Gen1-account opgesomd.
// Enumerate directory
foreach (var entry in client.EnumerateDirectory("/Test"))
{
PrintDirectoryEntry(entry);
}
De definitie van de PrintDirectoryEntry
methode is beschikbaar als onderdeel van het voorbeeld op GitHub.
Mappen recursief verwijderen
Met het volgende codefragment wordt een map en alle bijbehorende submappen recursief verwijderd.
// Delete a directory and all its subdirectories and files
client.DeleteRecursive("/Test");
Voorbeelden
Hier volgen enkele voorbeelden die laten zien hoe u de sdk Data Lake Storage Gen1 Filesystem gebruikt.
Zie ook
- Accountbeheerbewerkingen op Data Lake Storage Gen1 met behulp van .NET SDK
- Naslaginformatie over Data Lake Storage Gen1 .NET SDK