Operaciones de sistema de archivos en Azure Data Lake Storage Gen1 mediante el uso de Python

Con este artículo aprenderá a utilizar el SDK de Python para realizar operaciones de sistema de archivos en Azure Data Lake Storage Gen1. Para instrucciones sobre cómo realizar operaciones de administración de cuentas en Data Lake Storage Gen1 con Python, consulte Operaciones de administración de cuentas en Data Lake Storage Gen1 con Python.

Prerrequisitos

Instalación de los módulos

Para trabajar con Data Lake Storage Gen1 mediante Python, debe instalar tres módulos.

  • El módulo azure-mgmt-resource, que incluye los módulos de Azure para Active Directory, etc.
  • El módulo azure-mgmt-datalake-store, que incluye las operaciones de administración de cuentas de Azure Data Lake Storage Gen1. Para más información acerca de este módulo, consulte referencia al módulo de azure-mgmt-datalake-store.
  • El módulo azure-datalake-store, que incluye las operaciones de sistema de archivos de Azure Data Lake Storage Gen1. Para más información acerca de este módulo, consulte la referencia al módulo de azure-datalake-store file-system.

Utilice el comando siguiente para instalar los módulos.

pip install azure-mgmt-resource
pip install azure-mgmt-datalake-store
pip install azure-datalake-store

Creación de una nueva aplicación de Python

  1. En el IDE que prefiera, cree una nueva aplicación de Python, por ejemplo, mysample.py.

  2. Agregue las líneas siguientes para importar los módulos necesarios.

    ## 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
    
  3. Guarde los cambios en mysample.py.

Authentication

En esta sección, hablamos de las distintas formas de autenticarse con Microsoft Entra ID. Las opciones disponibles son:

Creación del cliente del sistema de archivos

En el siguiente fragmento de código se crea primero el cliente de la cuenta de Data Lake Storage Gen1. Usa el objeto de cliente para crear una cuenta de Data Lake Storage Gen1. Por último, el fragmento de código crea un objeto de cliente del sistema de archivos.

## Declare variables
subscriptionId = 'FILL-IN-HERE'
adlsAccountName = 'FILL-IN-HERE'

## Create a filesystem client object
adlsFileSystemClient = core.AzureDLFileSystem(adlCreds, store_name=adlsAccountName)

Creación de un directorio

## Create a directory
adlsFileSystemClient.mkdir('/mysampledirectory')

Carga de un archivo

## Upload a file
multithread.ADLUploader(adlsFileSystemClient, lpath='C:\\data\\mysamplefile.txt', rpath='/mysampledirectory/mysamplefile.txt', nthreads=64, overwrite=True, buffersize=4194304, blocksize=4194304)

Descarga de un archivo

## Download a file
multithread.ADLDownloader(adlsFileSystemClient, lpath='C:\\data\\mysamplefile.txt.out', rpath='/mysampledirectory/mysamplefile.txt', nthreads=64, overwrite=True, buffersize=4194304, blocksize=4194304)

Eliminación de un directorio

## Delete a directory
adlsFileSystemClient.rm('/mysampledirectory', recursive=True)

Pasos siguientes

Vea también