Fájlrendszerműveletek Azure Data Lake Storage Gen1-en a Python használatával
Ebből a cikkből megtudhatja, hogyan hajthat végre fájlrendszerműveleteket a Python SDK használatával Azure Data Lake Storage Gen1-en. A fiókkezelési műveletek pythonos Data Lake Storage Gen1 történő végrehajtásával kapcsolatos útmutatásért lásd: Fiókkezelési műveletek Data Lake Storage Gen1 a Python használatával.
Előfeltételek
Python. A Pythont innen töltheti le. Ez a cikk a Python 3.6.2-es verzióját használja.
Azure-előfizetés. Lásd: Ingyenes Azure-fiók létrehozása.
Azure Data Lake Storage Gen1-fiók. Kövesse a Azure Data Lake Storage Gen1 használatának első lépéseit a Azure Portal használatával.
A modulok telepítése
A pythonos Data Lake Storage Gen1 használatához három modult kell telepítenie.
- Az
azure-mgmt-resource
modult, amely további Azure-modulokat tartalmaz az Active Directoryhoz és más eszközökhöz. - A
azure-mgmt-datalake-store
modul, amely magában foglalja a Azure Data Lake Storage Gen1 fiókkezelési műveleteket. A modulról további információt az azure-mgmt-datalake-store modul referenciájában talál. - A
azure-datalake-store
modul, amely magában foglalja a Azure Data Lake Storage Gen1 fájlrendszerműveleteket. A modulról további információt az azure-datalake-store fájlrendszer modul referenciájában talál.
A modulok telepítéséhez használja a következő parancsokat.
pip install azure-mgmt-resource
pip install azure-mgmt-datalake-store
pip install azure-datalake-store
Új Python-alkalmazás létrehozása
A választott IDE-ben hozzon létre egy új Python-alkalmazást, például mysample.py néven.
Adja hozzá a következő sorokat a szükséges modulok importálásához.
## 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
Mentse a mysample.py módosításait.
Hitelesítés
Ebben a szakaszban a Microsoft Entra ID hitelesítésének különböző módjairól beszélünk. Az elérhető lehetőségek:
- 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 a Python használatával.
- Az alkalmazás szolgáltatásközi hitelesítésével kapcsolatban lásd: Szolgáltatásközi hitelesítés Data Lake Storage Gen1 a Python használatával.
Fájlrendszerügyfél létrehozása
A következő kódrészlet először létrehozza a Data Lake Storage Gen1 fiókügyfélt. Az ügyfélobjektum használatával hoz létre egy Data Lake Storage Gen1 fiókot. Végül pedig létrehoz egy fájlrendszerügyfél-objektumot.
## Declare variables
subscriptionId = 'FILL-IN-HERE'
adlsAccountName = 'FILL-IN-HERE'
## Create a filesystem client object
adlsFileSystemClient = core.AzureDLFileSystem(adlCreds, store_name=adlsAccountName)
Könyvtár létrehozása
## Create a directory
adlsFileSystemClient.mkdir('/mysampledirectory')
Fájl feltöltése
## Upload a file
multithread.ADLUploader(adlsFileSystemClient, lpath='C:\\data\\mysamplefile.txt', rpath='/mysampledirectory/mysamplefile.txt', nthreads=64, overwrite=True, buffersize=4194304, blocksize=4194304)
Fájl letöltése
## Download a file
multithread.ADLDownloader(adlsFileSystemClient, lpath='C:\\data\\mysamplefile.txt.out', rpath='/mysampledirectory/mysamplefile.txt', nthreads=64, overwrite=True, buffersize=4194304, blocksize=4194304)
Könyvtár törlése
## Delete a directory
adlsFileSystemClient.rm('/mysampledirectory', recursive=True)