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
Visual Studio 2013 vagy újabb verzió. A cikkben található utasítások a Visual Studio 2019-et használják.
Egy Azure-előfizetés. Lásd: Ingyenes Azure-fiók létrehozása.
Azure Data Lake Storage Gen1-fiók. A fiók létrehozásával kapcsolatos utasításokért lásd: Első lépések az 1. generációs Azure Data Lake Storage.
.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.
A Visual Studióban válassza a Fájl menü új elemét, majd a Project lehetőséget.
Válassza a Konzolalkalmazás (.NET-keretrendszer) lehetőséget, majd a Tovább gombot.
A Projekt neve mezőbe írja be a kifejezést
CreateADLApplication
, majd válassza a Létrehozás lehetőséget.Adja hozzá a NuGet-csomagokat a projekthez.
Kattintson a jobb gombbal a projekt nevére a Megoldáskezelőben, majd kattintson a Manage NuGet Packages (NuGet-csomagok kezelése) elemre.
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.
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.
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;
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
- Az alkalmazás végfelhasználói hitelesítésével kapcsolatban lásd: Végfelhasználói hitelesítés Data Lake Storage Gen1 .NET SDK használatával.
- Az alkalmazás szolgáltatásközi hitelesítésével kapcsolatban lásd: Szolgáltatásközi hitelesítés a .NET SDK-t használó Data Lake Storage Gen1 használatával.
Ü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 PrintDirectoryEntry
GitHubon 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 PrintDirectoryEntry
GitHubon 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
- Fiókkezelési műveletek Data Lake Storage Gen1 a .NET SDK használatával
- .NET SDK-referencia Data Lake Storage Gen1