Operace systému souborů na Data Lake Storage Gen1 pomocí sady .NET SDK

V tomto článku se dozvíte, jak provádět operace systému souborů na Data Lake Storage Gen1 pomocí sady .NET SDK. Mezi operace systému souborů patří vytváření složek v účtu Data Lake Storage Gen1, nahrávání souborů, stahování souborů atd.

Pokyny k provádění operací správy účtů na Data Lake Storage Gen1 pomocí sady .NET SDK najdete v tématu Operace správy účtů na Data Lake Storage Gen1 pomocí sady .NET SDK.

Požadavky

Vytvoření aplikace .NET

Ukázka kódu, která je k dispozici na GitHubu, vás provede procesem vytvoření souborů v úložišti, zřetězení souborů, stažení souboru a nakonec odstranění některých souborů v úložišti. Tato část článku vás provede hlavními částmi kódu.

  1. V sadě Visual Studio vyberte nabídku File (Soubor ), New (Nový) a pak Project ( Projekt).

  2. Zvolte Konzolová aplikace (.NET Framework) a pak vyberte Další.

  3. Do pole Název projektu zadejte CreateADLApplicationa pak vyberte Vytvořit.

  4. Přidejte do projektu balíčky NuGet.

    1. V Průzkumníku řešení klikněte pravým tlačítkem na název projektu a klikněte na možnost Správa balíčků NuGet.

    2. Na kartě Správce balíčků NuGet se ujistěte, že je zdroj balíčku nastavený na nuget.org. Ujistěte se také, že je zaškrtnuté políčko Zahrnout předběžnou verzi .

    3. Vyhledejte a nainstalujte následující balíčky NuGet:

      • Microsoft.Azure.DataLake.Store – Tento článek používá verzi v1.0.0.
      • Microsoft.Rest.ClientRuntime.Azure.Authentication – Tento článek používá verzi v2.3.1.

      Zavřete Správce balíčků NuGet.

  5. Otevřete soubor Program.cs, odstraňte stávající kód a potom vložte následující příkazy, čímž přidáte odkazy na obory názvů.

    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. Deklarujte proměnné, jak je znázorněno níže, a nahraďte zástupné symboly příslušnými hodnotami. Také se ujistěte, že na počítači existuje místní cesta a název souboru, které tady zadáte.

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

Ve zbývajících částech článku se dozvíte, jak používat dostupné metody .NET k provádění operací, jako je ověřování, nahrávání souborů atd.

Authentication

Vytvoření objektu klienta

Následující fragment kódu vytvoří Data Lake Storage Gen1 objekt klienta systému souborů, který se používá k vydávání požadavků na službu.

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

Vytvoření souboru a adresáře

Přidejte do své aplikace následující fragment kódu. Tento fragment kódu přidá soubor a jakýkoli nadřazený adresář, který neexistuje.

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

Připojení k souboru

Následující fragment kódu připojí data k existujícímu souboru v účtu 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);
}

Čtení souboru

Následující fragment kódu přečte obsah souboru v 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);
    }
}

Získání vlastností souboru

Následující fragment kódu vrátí vlastnosti přidružené k souboru nebo adresáři.

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

Definice PrintDirectoryEntry metody je k dispozici jako součást ukázky na GitHubu.

Přejmenování souboru

Následující fragment kódu přejmenuje existující soubor v účtu Data Lake Storage Gen1.

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

Výpis obsahu adresáře

Následující fragment kódu obsahuje výčet adresářů v účtu Data Lake Storage Gen1.

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

Definice PrintDirectoryEntry metody je k dispozici jako součást ukázky na GitHubu.

Rekurzivní odstranění adresářů

Následující fragment kódu rekurzivně odstraní adresář a všechny jeho podadresáře.

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

Ukázky

Tady je několik ukázek, které ukazují, jak používat sadu SDK systému souborů Data Lake Storage Gen1.

Viz také

Další kroky