Filsystemåtgärder på Azure Data Lake Storage Gen1 med Python
I den här artikeln får du lära dig hur du använder Python SDK för att utföra filsystemåtgärder på Azure Data Lake Storage Gen1. Anvisningar om hur du utför kontohanteringsåtgärder på Data Lake Storage Gen1 med Python finns i Kontohanteringsåtgärder på Data Lake Storage Gen1 med Python.
Förutsättningar
Python. Du kan hämta Python här. I den här artikeln används Python 3.6.2.
En Azure-prenumeration. Se Hämta en kostnadsfri utvärderingsversion av Azure.
Azure Data Lake Storage Gen1-konto. Följ anvisningarna i Kom igång med Azure Data Lake Storage Gen1 med hjälp av Azure Portal.
Installera modulerna
Om du vill arbeta med Data Lake Storage Gen1 med Python måste du installera tre moduler.
-
azure-mgmt-resource
-modulen, som innehåller Azure-moduler för Active Directory osv. - Modulen
azure-mgmt-datalake-store
, som innehåller Azure Data Lake Storage Gen1-kontohanteringsåtgärder. Mer information om den här modulen finns i modulreferensen azure-mgmt-datalake-store. - Modulen
azure-datalake-store
, som innehåller filsystemsåtgärderna Azure Data Lake Storage Gen1. Mer information om den här modulen finns i modulreferensen azure-datalake-store file-system.
Installera modulerna med hjälp av följande kommandon.
pip install azure-mgmt-resource
pip install azure-mgmt-datalake-store
pip install azure-datalake-store
Skapa ett nytt Python-program
Skapa ett nytt Python-program i valfritt IDE, t.ex. mysample.py.
Lägg till följande rader för att importera de nödvändiga modulerna
## 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
Spara ändringarna i mysample.py.
Autentisering
I det här avsnittet pratar vi om olika sätt att autentisera med Microsoft Entra ID. De tillgängliga alternativen är:
- Slutanvändarautentisering för ditt program finns i Slutanvändarautentisering med Data Lake Storage Gen1 med Python.
- Tjänst-till-tjänst-autentisering för ditt program finns i Tjänst-till-tjänst-autentisering med Data Lake Storage Gen1 med Python.
Skapa filsystemklient
Följande kodfragment skapar först Data Lake Storage Gen1-kontoklienten. Det använder klientobjektet för att skapa ett Data Lake Storage Gen1-konto. Slutligen skapar kodfragmentet ett klientobjekt för filsystemet.
## Declare variables
subscriptionId = 'FILL-IN-HERE'
adlsAccountName = 'FILL-IN-HERE'
## Create a filesystem client object
adlsFileSystemClient = core.AzureDLFileSystem(adlCreds, store_name=adlsAccountName)
Skapa en katalog
## Create a directory
adlsFileSystemClient.mkdir('/mysampledirectory')
Ladda upp en fil
## Upload a file
multithread.ADLUploader(adlsFileSystemClient, lpath='C:\\data\\mysamplefile.txt', rpath='/mysampledirectory/mysamplefile.txt', nthreads=64, overwrite=True, buffersize=4194304, blocksize=4194304)
Ladda ned en fil
## Download a file
multithread.ADLDownloader(adlsFileSystemClient, lpath='C:\\data\\mysamplefile.txt.out', rpath='/mysampledirectory/mysamplefile.txt', nthreads=64, overwrite=True, buffersize=4194304, blocksize=4194304)
Ta bort en katalog
## Delete a directory
adlsFileSystemClient.rm('/mysampledirectory', recursive=True)