Delen via


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

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.

  1. Selecteer in Visual Studio het menu Bestand , Nieuw en vervolgens Project.

  2. Kies Console-app (.NET Framework) en selecteer vervolgens Volgende.

  3. Voer in Projectnaam in CreateADLApplicationen selecteer vervolgens Maken.

  4. Voeg de NuGet-pakketten toe aan het project.

    1. Klik in Solution Explorer met de rechtermuisknop op de projectnaam en klik op Manage NuGet Packages.

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

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

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

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

Volgende stappen