Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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 hjälp av .NET SDK.
Förutsättningar
Visual Studio 2013 eller senare. Anvisningarna i den här artikeln använder Visual Studio 2019.
Prenumeration för Azure. 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
Kodexemplet som är tillgängligt på GitHub vägleder dig genom processen att skapa filer i arkivet, sammanfoga filer, ladda ned en fil och ta bort vissa filer i arkivet. Det här avsnittet i artikeln beskriver 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
CreateADLApplicationoch 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ärdena 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 tillgängliga .NET-metoder för att utföra åtgärder som autentisering, filuppladdning osv.
Autentisering
- Information om slutanvändarautentisering för ditt program finns i Slutanvändarautentisering med Data Lake Storage Gen1 med hjälp av .NET SDK.
- För tjänst-till-tjänst-autentisering för ditt program, se 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 katalog
Lägg till följande kodfragment i programmet. 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 i en fil
Följande kodfragment lägger till data i en befintlig fil i Data Lake Storage Gen1-kontot.
// 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 kodfragment returnerar de egenskaper som är associerade med en fil eller en 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