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

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.

  1. I Visual Studio väljer du menyn Arkiv , Nytt och sedan Projekt.

  2. Välj Konsolapp (.NET Framework)och välj sedan Nästa.

  3. I Projektnamn anger du CreateADLApplicationoch väljer sedan Skapa.

  4. Lägg till NuGet-paketen i projektet.

    1. Högerklicka på projektnamnet i Solution Explorer och klicka på Hantera NuGet-paket.

    2. 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.

    3. 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.

  5. Ö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;
    
  6. 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

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

Nästa steg