Opérations de gestion du système de fichiers sur Azure Data Lake Storage Gen1 à l’aide de Python
Dans cet article, vous apprenez à utiliser le kit de développement logiciel (SDK) Python pour réaliser des opérations de gestion du système de fichiers sur Azure Data Lake Storage Gen1. Pour obtenir des instructions sur l’exécution des opérations de gestion des comptes sur Data Lake Storage Gen1 à l’aide de Python, consultez la section relative aux opérations de gestion des comptes sur Data Lake Storage Gen1 à l’aide de Python.
Prérequis
Python Pour télécharger Python, accédez ici. Cet article utilise Python 3.6.2.
Un abonnement Azure. Consultez la page Obtention d’un essai gratuit d’Azure.
Compte Azure Data Lake Storage Gen1. Suivez les instructions de Prise en main d’Azure Data Lake Storage Gen1 avec le portail Azure.
Installer les modules
Pour utiliser Data Lake Storage Gen1 avec Python, vous devez installer trois modules.
- Le module
azure-mgmt-resource
, qui inclut des modules Azure pour Active Directory, etc. - Le module
azure-mgmt-datalake-store
, qui inclut les opérations de gestion du compte Azure Data Lake Storage Gen1. Pour plus d’informations sur ce module, voir les informations de référence sur le module azure-mgmt-datalake-store. - Le module
azure-datalake-store
, qui inclut les opérations de gestion du système de fichiers Azure Data Lake Storage Gen1. Pour plus d’informations sur ce module, voir les informations de référence sur le module azure-datalake-store file-system.
Utilisez les commandes suivantes pour installer les modules.
pip install azure-mgmt-resource
pip install azure-mgmt-datalake-store
pip install azure-datalake-store
Créer une application Python
Utilisez l’IDE de votre choix pour créer une application Python, par exemple, mysample.py.
Ajoutez les lignes suivantes pour importer les modules requis.
## Use this only for Azure AD service-to-service authentication from azure.common.credentials import ServicePrincipalCredentials ## Use this only for Azure AD end-user authentication from azure.common.credentials import UserPassCredentials ## Use this only for Azure AD multi-factor authentication from msrestazure.azure_active_directory import AADTokenCredentials ## Required for Azure Data Lake Storage Gen1 account management from azure.mgmt.datalake.store import DataLakeStoreAccountManagementClient from azure.mgmt.datalake.store.models import DataLakeStoreAccount ## Required for Azure Data Lake Storage Gen1 filesystem management from azure.datalake.store import core, lib, multithread ## Common Azure imports from azure.mgmt.resource.resources import ResourceManagementClient from azure.mgmt.resource.resources.models import ResourceGroup ## Use these as needed for your application import logging, getpass, pprint, uuid, time
Enregistrez les modifications apportées à mysample.py.
Authentification
Dans cette section, nous abordons les différentes façons de s’authentifier auprès de Microsoft Entra ID. Voici les options disponibles :
- Pour en savoir plus sur l’authentification des utilisateurs accédant à votre application, consultez la rubrique Authentification des utilisateurs finaux auprès de Data Lake Storage Gen1 avec Python.
- Pour en savoir plus sur l’authentification entre les services dans le cadre de votre application, consultez la rubrique Authentification de service à service auprès de Data Lake Storage Gen1 à l’aide de Python.
Créer le client de système de fichiers
L’extrait de code suivant crée dans un premier temps le client du compte Data Lake Storage Gen1. Il utilise l’objet client pour créer le compte Data Lake Storage Gen1. Enfin, l’extrait de code crée un objet client de système de fichiers.
## Declare variables
subscriptionId = 'FILL-IN-HERE'
adlsAccountName = 'FILL-IN-HERE'
## Create a filesystem client object
adlsFileSystemClient = core.AzureDLFileSystem(adlCreds, store_name=adlsAccountName)
Créer un répertoire
## Create a directory
adlsFileSystemClient.mkdir('/mysampledirectory')
Charger un fichier
## Upload a file
multithread.ADLUploader(adlsFileSystemClient, lpath='C:\\data\\mysamplefile.txt', rpath='/mysampledirectory/mysamplefile.txt', nthreads=64, overwrite=True, buffersize=4194304, blocksize=4194304)
Télécharger un fichier
## Download a file
multithread.ADLDownloader(adlsFileSystemClient, lpath='C:\\data\\mysamplefile.txt.out', rpath='/mysampledirectory/mysamplefile.txt', nthreads=64, overwrite=True, buffersize=4194304, blocksize=4194304)
Supprimer un répertoire
## Delete a directory
adlsFileSystemClient.rm('/mysampledirectory', recursive=True)