Filsystemåtgärder på Data Lake Storage Gen1 med hjälp av .NET SDK
I den här artikeln får du lära dig hur du utför filsystemåtgärder på Data Lake Storage Gen1 med hjälp av .NET SDK. Filsystemåtgärder omfattar att skapa mappar i ett Data Lake Storage Gen1 konto, ladda upp filer, ladda ned filer osv.
Anvisningar om hur du utför kontohanteringsåtgärder på Data Lake Storage Gen1 med hjälp av .NET SDK finns i Kontohanteringsåtgärder på Data Lake Storage Gen1 med .NET SDK.
Förutsättningar
Visual Studio 2013 eller senare. Anvisningarna i den här artikeln använder Visual Studio 2019.
En Azure-prenumeration. Se Hämta en kostnadsfri utvärderingsversion av Azure.
Azure Data Lake Storage Gen1-konto. Anvisningar om hur du skapar ett konto finns i Komma igång med Azure Data Lake Storage Gen1.
Skapa ett .NET-program
Kodavsnittet som finns tillgängligt på GitHub ger dig en genomgång av processen att skapa filer i arkivet, sammanfoga filer, hämta en fil och ta bort några filer i arkivet. Det här avsnittet av artikeln går igenom de viktigaste delarna av koden.
I Visual Studio väljer du menyn Arkiv , Nytt och sedan Projekt.
Välj Konsolapp (.NET Framework)och välj sedan Nästa.
I Projektnamn anger du
CreateADLApplication
och väljer sedan Skapa.Lägg till NuGet-paketen i projektet.
Högerklicka på projektnamnet i Solution Explorer och klicka på Hantera NuGet-paket.
På fliken NuGet Package Manager kontrollerar du att Paketkällan är inställd på nuget.org. Kontrollera också att kryssrutan Inkludera förhandsversion är markerad.
Sök efter och installera följande NuGet-paket:
Microsoft.Azure.DataLake.Store
– Den här artikeln använder v1.0.0.Microsoft.Rest.ClientRuntime.Azure.Authentication
– Den här artikeln använder v2.3.1.
Stäng NuGet Package Manager.
Öppna Program.cs, ta bort den befintliga koden och lägg sedan till följande instruktioner för att lägga till referenser till namnområden.
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;
Deklarera variablerna enligt nedan och ange värden för platshållarna. Kontrollera också att den lokala sökvägen och filnamnet som du anger här finns på datorn.
namespace SdkSample { class Program { private static string _adlsg1AccountName = "<DATA-LAKE-STORAGE-GEN1-NAME>.azuredatalakestore.net"; } }
I de återstående avsnitten i artikeln kan du se hur du använder de tillgängliga .NET-metoderna för att utföra åtgärder som autentisering, filuppladdning osv.
Autentisering
- Slutanvändarautentisering för ditt program finns i Slutanvändarautentisering med Data Lake Storage Gen1 med hjälp av .NET SDK.
- Tjänst-till-tjänst-autentisering för ditt program finns i Tjänst-till-tjänst-autentisering med Data Lake Storage Gen1 med hjälp av .NET SDK.
Skapa klientobjekt
Följande kodfragment skapar Data Lake Storage Gen1-filsystemklientobjektet, som används för att utfärda begäranden till tjänsten.
// Create client objects
AdlsClient client = AdlsClient.CreateClient(_adlsg1AccountName, adlCreds);
Skapa en fil och mapp
Lägg till följande kodfragment i ditt program. Det här kodfragmentet lägger till en fil och en överordnad katalog som inte finns.
// 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);
}
Lägg till till en fil
Följande kodfragment lägger till data i en befintlig fil i Data Lake Storage Gen1 konto.
// 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);
}
Läs en fil
Följande kodfragment läser innehållet i en fil i 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);
}
}
Hämta filegenskaper
Följande kodavsnitt returnerar egenskaperna som är associerade med en fil eller katalog.
// Get file properties
var directoryEntry = client.GetDirectoryEntry(fileName);
PrintDirectoryEntry(directoryEntry);
Definitionen av PrintDirectoryEntry
metoden är tillgänglig som en del av exemplet på GitHub.
Byt namn på en fil
Följande kodfragment byter namn på en befintlig fil i ett Data Lake Storage Gen1 konto.
// Rename a file
string destFilePath = "/Test/testRenameDest3.txt";
client.Rename(fileName, destFilePath, true);
Räkna upp en katalog
Följande kodfragment räknar upp kataloger i ett Data Lake Storage Gen1 konto.
// Enumerate directory
foreach (var entry in client.EnumerateDirectory("/Test"))
{
PrintDirectoryEntry(entry);
}
Definitionen av PrintDirectoryEntry
metoden är tillgänglig som en del av exemplet på GitHub.
Ta bort kataloger rekursivt
Följande kodfragment tar bort en katalog och alla dess underkataloger rekursivt.
// Delete a directory and all its subdirectories and files
client.DeleteRecursive("/Test");
Exempel
Här följer några exempel som visar hur du använder Data Lake Storage Gen1 Filesystem SDK.
Se även
- Kontohanteringsåtgärder på Data Lake Storage Gen1 med .NET SDK
- Data Lake Storage Gen1 .NET SDK-referens