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