Sdílet prostřednictvím


Operace systému souborů ve službě Data Lake Storage Gen1 pomocí sady .NET SDK

V tomto článku se dozvíte, jak provádět operace systému souborů ve službě Data Lake Storage Gen1 pomocí sady .NET SDK. Operace systému souborů zahrnují 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ů ve službě Data Lake Storage Gen1 pomocí sady .NET SDK najdete v tématu Operace správy účtů ve službě Data Lake Storage Gen1 pomocí sady .NET SDK.

Požadavky

Vytvoření aplikace .NET

Ukázka kódu dostupná na GitHubu vás provede procesem vytváření souborů v úložišti, zřetězení souborů, stažení souboru a 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 Soubor, Nový a pak 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ěžné verze .

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

      • Microsoft.Azure.DataLake.Store - Tento článek používá v1.0.0.
      • Microsoft.Rest.ClientRuntime.Azure.Authentication – Tento článek používá verzi 2.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 zadejte hodnoty zástupných symbolů. Také se ujistěte, že v 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 pomocí dostupných metod .NET provádět operace, jako je ověřování, nahrávání souborů atd.

Autentizace

Vytvoření objektu klienta

Následující fragment kódu vytvoří objekt klienta systému souborů Data Lake Storage Gen1, 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

Do aplikace přidejte 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řidat 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);
}

Přečti soubor

Následující fragment kódu nač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);

Vypsat adresář

Následující fragment kódu vyčísluje adresáře 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 odstraní adresář a všechny jeho podadresáře rekurzivně.

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

Vzorky

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

Viz také

Další kroky