Opérations de système de fichiers dans Data Lake Storage Gen1 à l’aide du Kit de développement logiciel (SDK) .NET
Dans cet article, vous allez découvrir comment réaliser des opérations de gestion du système de fichiers sur Data Lake Storage Gen1 avec le SDK .NET. Les opérations de gestion du système de fichiers comprennent la création de dossiers dans un compte Data Lake Storage Gen1, le chargement et le téléchargement de fichiers, etc.
Pour obtenir des instructions sur l’exécution d’opérations de gestion des comptes sur Data Lake Storage Gen1 à l’aide du kit de développement logiciel (SDK) .NET, consultez la section relative aux opérations de gestion des comptes sur Data Lake Storage Gen1 à l’aide du kit de développement logiciel (SDK) .NET.
Prérequis
Visual Studio 2013 ou version ultérieure. Dans le cadre de cet article, Visual Studio 2019 a été utilisé.
Un abonnement Azure. Consultez la page Obtention d’un essai gratuit d’Azure.
Compte Azure Data Lake Storage Gen1. Pour savoir comment créer un compte, consultez Prise en main d’Azure Data Lake Storage Gen1.
Créer une application .NET
L’exemple de code disponible sur GitHub vous guide tout au long du processus de création de fichiers dans le magasin, de concaténation de fichiers, de téléchargement d’un fichier et de suppression de certains fichiers du compte. Cette section de l’article vous guide tout au long des principales parties du code.
Dans Visual Studio, sélectionnez le menu Fichier, puis Nouveau et Projet.
Choisissez Application console (.NET Framework) , puis sélectionnez Suivant.
Dans Nom du projet, entrez
CreateADLApplication
, puis sélectionnez Créer.Ajoutez les packages NuGet à votre projet.
Dans l’Explorateur de solutions, cliquez avec le bouton droit sur le nom du projet, puis cliquez sur Gérer les packages NuGet.
Dans l’onglet Gestionnaire de package NuGet, vérifiez que Source du package a la valeur nuget.org. En outre, assurez-vous que la case à cocher inclure la version préliminaire est activée.
Recherchez et installez les packages NuGet suivants :
-
Microsoft.Azure.DataLake.Store
- Cet article utilise v1.0.0. -
Microsoft.Rest.ClientRuntime.Azure.Authentication
- Cet article utilise v2.3.1.
Fermez le Gestionnaire de package NuGet.
-
Ouvrez Program.cs, supprimez le code existant, puis insérez les instructions suivantes pour ajouter des références aux espaces de noms.
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;
Déclarez les variables comme indiqué ci-dessous, et fournissez les valeurs des espaces réservés. En outre, assurez-vous que le chemin d’accès local et le nom de fichier que vous fournissez ici existent sur l’ordinateur.
namespace SdkSample { class Program { private static string _adlsg1AccountName = "<DATA-LAKE-STORAGE-GEN1-NAME>.azuredatalakestore.net"; } }
Dans les sections suivantes de cet article, vous pouvez découvrir comment utiliser les méthodes .NET pour effectuer des opérations telles que l’authentification des utilisateurs et le chargement de fichiers.
Authentification
- Pour en savoir plus sur l’authentification des utilisateurs accédant à votre application, consultez la section relative à l’authentification de l’utilisateur avec Data Lake Storage Gen1 à l’aide du Kit de développement logiciel (SDK) .NET.
- Pour en savoir plus sur l’authentification entre les services dans le cadre de votre application, consultez la section relative à l’authentification entre les services avec Data Lake Storage Gen1 à l’aide du Kit de développement logiciel (SDK) .NET.
Créer un objet client
L’extrait de code suivant permet de créer l’objet client filesystem Data Lake Storage Gen1 qui est utilisé pour adresser des requêtes au service.
// Create client objects
AdlsClient client = AdlsClient.CreateClient(_adlsg1AccountName, adlCreds);
Créer un fichier un répertoire
Ajoutez l’extrait de code suivant à votre application. Cet extrait de code ajoute un fichier et un répertoire parent qui n’existe pas.
// 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);
}
Ajout à un fichier
L’extrait de code suivant permet d’ajouter des données à un fichier existant dans le compte 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);
}
Lire un fichier
L’extrait de code suivant permet de lire le contenu d’un fichier dans un compte 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);
}
}
Obtenir les propriétés de fichier
L’extrait de code suivant permet de renvoyer les propriétés associées à un fichier ou un répertoire.
// Get file properties
var directoryEntry = client.GetDirectoryEntry(fileName);
PrintDirectoryEntry(directoryEntry);
La définition de la méthode PrintDirectoryEntry
n’est disponible que dans l’exemple sur GitHub.
Renommer un fichier
L’extrait de code suivant renomme un fichier existant dans un compte Data Lake Storage Gen1.
// Rename a file
string destFilePath = "/Test/testRenameDest3.txt";
client.Rename(fileName, destFilePath, true);
Énumérer un répertoire
L’extrait de code suivant permet d’énumérer des répertoires dans un compte Data Lake Storage Gen1.
// Enumerate directory
foreach (var entry in client.EnumerateDirectory("/Test"))
{
PrintDirectoryEntry(entry);
}
La définition de la méthode PrintDirectoryEntry
n’est disponible que dans l’exemple sur GitHub.
Supprimer des répertoires de manière récursive
L’extrait de code suivant permet de supprimer un répertoire et tous ses sous-répertoires de manière récursive.
// Delete a directory and all its subdirectories and files
client.DeleteRecursive("/Test");
Exemples
Voici quelques exemples qui indiquent comment utiliser le Kit de développement logiciel (SDK) Filesystem Data Lake Storage Gen1.
Voir aussi
- Opérations de gestion du compte sur Data Lake Storage Gen1 à l’aide du SDK .NET
- Référence SDK .NET Data Lake Storage Gen1