Udostępnij za pośrednictwem


Operacje systemu plików w usłudze Data Lake Storage Gen1 przy użyciu zestawu .NET SDK

Z tego artykułu dowiesz się, jak wykonywać operacje systemu plików w usłudze Data Lake Storage Gen1 przy użyciu zestawu .NET SDK. Operacje systemu plików obejmują tworzenie folderów na koncie usługi Data Lake Storage Gen1, przekazywanie plików, pobieranie plików itp.

Aby uzyskać instrukcje dotyczące wykonywania operacji zarządzania kontami w usłudze Data Lake Storage Gen1 przy użyciu zestawu .NET SDK, zobacz Operacje zarządzania kontami w usłudze Data Lake Storage Gen1 przy użyciu zestawu .NET SDK.

Wymagania wstępne

Tworzenie aplikacji .NET

Przykładowy kod dostępny w witrynie GitHub przeprowadzi Cię przez proces tworzenia plików w magazynie, łączenia plików, pobierania pliku i usuwania niektórych plików w magazynie. W tej sekcji artykułu przedstawiono główne części kodu.

  1. W programie Visual Studio wybierz menu Plik , Nowy, a następnie pozycję Projekt.

  2. Wybierz pozycję Aplikacja konsolowa (.NET Framework),a następnie wybierz pozycję Dalej.

  3. W polu Nazwa projektu wprowadź ciąg CreateADLApplication, a następnie wybierz pozycję Utwórz.

  4. Dodaj pakiety NuGet do swojego projektu.

    1. Kliknij prawym przyciskiem myszy nazwę projektu w Eksploratorze rozwiązań i kliknij polecenie Zarządzaj pakietami NuGet.

    2. Na karcie Menedżera pakietów NuGet upewnij się, że Źródło pakietu jest ustawione na nuget.org. Zadbaj również o to, by pole wyboru Uwzględnij wersję wstępną było zaznaczone.

    3. Wyszukaj i zainstaluj następujące pakiety NuGet:

      • Microsoft.Azure.DataLake.Store — W tym artykule jest używana wersja 1.0.0.
      • Microsoft.Rest.ClientRuntime.Azure.Authentication — W tym artykule jest używana wersja 2.3.1.

      Zamknij Menedżera pakietów NuGet.

  5. Otwórz plik Program.cs, usuń istniejący kod, a następnie dołącz poniższe instrukcje, aby dodać odwołania do przestrzeni nazw.

    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. Zadeklaruj zmienne, jak pokazano poniżej, i podaj wartości symboli zastępczych. Upewnij się również, że na komputerze istnieje podana tutaj ścieżka lokalna i nazwa pliku.

    namespace SdkSample
    {
        class Program
        {
            private static string _adlsg1AccountName = "<DATA-LAKE-STORAGE-GEN1-NAME>.azuredatalakestore.net";
        }
    }
    

W pozostałych sekcjach artykułu można zobaczyć, jak używać dostępnych metod platformy .NET do wykonywania operacji, takich jak uwierzytelnianie, przekazywanie plików itp.

Uwierzytelnianie

Tworzenie obiektu klienta

Poniższy fragment kodu tworzy obiekt klienta systemu plików Usługi Data Lake Storage Gen1, który służy do wystawiania żądań do usługi.

// Create client objects
AdlsClient client = AdlsClient.CreateClient(_adlsg1AccountName, adlCreds);

Tworzenie pliku i katalogu

Dodaj następujący fragment kodu do aplikacji. Ten fragment kodu dodaje plik i dowolny katalog nadrzędny, który nie istnieje.

// 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);
}

Dołączanie do pliku

Poniższy fragment kodu dołącza dane do istniejącego pliku na koncie usługi Data Lake Storage Gen1.

// 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);
}

Odczytywanie pliku

Poniższy fragment kodu odczytuje zawartość pliku w usłudze 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);
    }
}

Pobieranie właściwości pliku

Poniższy fragment kodu zwraca właściwości skojarzone z plikiem lub katalogiem.

// Get file properties
var directoryEntry = client.GetDirectoryEntry(fileName);
PrintDirectoryEntry(directoryEntry);

Definicja PrintDirectoryEntry metody jest dostępna w ramach przykładu w witrynie GitHub.

Zmienianie nazwy pliku

Poniższy fragment kodu zmienia nazwę istniejącego pliku na koncie usługi Data Lake Storage Gen1.

// Rename a file
string destFilePath = "/Test/testRenameDest3.txt";
client.Rename(fileName, destFilePath, true);

Wylicz katalog

Poniższy fragment kodu wylicza katalogi na koncie usługi Data Lake Storage Gen1.

// Enumerate directory
foreach (var entry in client.EnumerateDirectory("/Test"))
{
    PrintDirectoryEntry(entry);
}

Definicja PrintDirectoryEntry metody jest dostępna w ramach przykładu w witrynie GitHub.

Rekursywne usuwanie katalogów

Poniższy fragment kodu usuwa katalog i wszystkie jego podkatalogi, rekursywnie.

// Delete a directory and all its subdirectories and files
client.DeleteRecursive("/Test");

Przykłady

Poniżej przedstawiono kilka przykładów, które pokazują, jak używać zestawu SDK systemu plików usługi Data Lake Storage Gen1.

Zobacz też

Następne kroki