Megosztás a következőn keresztül:


Fájlrendszerműveletek Data Lake Storage Gen1 a .NET SDK használatával

Ebből a cikkből megtudhatja, hogyan hajthat végre fájlrendszerműveleteket Data Lake Storage Gen1 a .NET SDK használatával. A fájlrendszerműveletek közé tartozik a mappák létrehozása egy Data Lake Storage Gen1 fiókban, fájlok feltöltése, fájlok letöltése stb.

A .NET SDK használatával Data Lake Storage Gen1 fiókkezelési műveletek végrehajtására vonatkozó utasításokért lásd: Fiókkezelési műveletek Data Lake Storage Gen1 a .NET SDK használatával.

Előfeltételek

.NET-alkalmazás létrehozása

A GitHubon elérhető kódminta végigvezeti a fájlok tárolóban való létrehozásának, a fájlok összetűzésének, a fájlok letöltésének és az egyes fájlok tárolóból való törlésének folyamatán. A cikk ezen szakasza a kód fő részeit mutatja be.

  1. A Visual Studióban válassza a Fájl menü új elemét, majd a Project lehetőséget.

  2. Válassza a Konzolalkalmazás (.NET-keretrendszer) lehetőséget, majd a Tovább gombot.

  3. A Projekt neve mezőbe írja be a kifejezést CreateADLApplication, majd válassza a Létrehozás lehetőséget.

  4. Adja hozzá a NuGet-csomagokat a projekthez.

    1. Kattintson a jobb gombbal a projekt nevére a Megoldáskezelőben, majd kattintson a Manage NuGet Packages (NuGet-csomagok kezelése) elemre.

    2. A NuGet-csomagkezelő lapon győződjön meg arról, hogy a Csomag forrásabeállítás értéke nuget.org. Győződjön meg arról is, hogy az Előzetes verzió belefoglalása jelölőnégyzet be van jelölve.

    3. Keresse meg és telepítse az alábbi NuGet-csomagokat:

      • Microsoft.Azure.DataLake.Store – Ez a cikk az 1.0.0-s verziót használja.
      • Microsoft.Rest.ClientRuntime.Azure.Authentication – Ez a cikk a 2.3.1-et használja.

      Zárja be a NuGet-csomagkezelőt.

  5. Nyissa meg a Program.cs fájlt, törölje a meglévő kódot, majd illessze be az alábbi utasításokat, hogy hivatkozásokat a névterekre való hivatkozásokat tudjon felvenni.

    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. Deklarálja a változókat az alább látható módon, majd adja meg a helyőrzők értékét. Arról is győződjön meg, hogy az itt megadott helyi elérési út és fájlnév létezik a számítógépen.

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

A cikk további szakaszaiban megtudhatja, hogyan használhatja az elérhető .NET-metódusokat olyan műveletek végrehajtására, mint a hitelesítés, a fájlfeltöltés stb.

Hitelesítés

Ügyfélobjektum létrehozása

A következő kódrészlet létrehozza a Data Lake Storage Gen1 fájlrendszer ügyfélobjektumot, amely a szolgáltatásnak küldött kérések kiállítására szolgál.

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

Fájl és könyvtár létrehozása

Adja hozzá a következő kódrészletet az alkalmazásához. Ez a kódrészlet hozzáad egy fájlt és minden olyan szülőkönyvtárat, amely nem létezik.

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

Hozzáfűzés fájlhoz

Az alábbi kódrészlet egy Data Lake Storage Gen1 fiókban lévő meglévő fájlhoz fűzi hozzá az adatokat.

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

Fájl beolvasása

Az alábbi kódrészlet beolvassa egy fájl tartalmát 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);
    }
}

Fájltulajdonságok lekérdezése

Az alábbi kódrészlet egy fájlhoz vagy könyvtárhoz társított tulajdonságokat adja vissza.

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

A metódus definíciója a PrintDirectoryEntryGitHubon elérhető minta részeként érhető el.

Fájl átnevezése

Az alábbi kódrészlet átnevez egy meglévő fájlt egy Data Lake Storage Gen1-fiókban.

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

Könyvtárak enumerálása

Az alábbi kódrészlet egy Data Lake Storage Gen1 fiók címtárait sorolja fel.

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

A metódus definíciója a PrintDirectoryEntryGitHubon elérhető minta részeként érhető el.

Könyvtárak rekurzív törlése

Az alábbi kódrészlet rekurzív módon töröl egy könyvtárat és annak összes alkönyvtárát.

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

Példák

Íme néhány példa a Data Lake Storage Gen1 Fájlrendszer SDK használatára.

Lásd még

Következő lépések