Operações do sistema de ficheiros no Azure Data Lake Storage Gen1 com Python

Neste artigo, vai aprender a utilizar o SDK python para realizar operações do sistema de ficheiros no Azure Data Lake Storage Gen1. Para obter instruções sobre como realizar operações de gestão de contas em Data Lake Storage Gen1 com Python, veja Operações de gestão de contas em Data Lake Storage Gen1 com Python.

Pré-requisitos

Instalar os módulos

Para trabalhar com Data Lake Storage Gen1 com o Python, tem de instalar três módulos.

  • O módulo azure-mgmt-resource, que inclui módulos do Azure para o Active Directory, etc.
  • O azure-mgmt-datalake-store módulo, que inclui as operações de gestão de contas do Azure Data Lake Storage Gen1. Para obter mais informações sobre este módulo, veja a referência do módulo azure-mgmt-datalake-store.
  • O azure-datalake-store módulo, que inclui as operações do sistema de ficheiros Azure Data Lake Storage Gen1. Para obter mais informações sobre este módulo, veja a referência do módulo azure-datalake-store file-system.

Utilize os comandos seguintes para instalar os módulos.

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

Criar uma aplicação Python nova

  1. No IDE à sua escolha, crie uma aplicação Python nova, como, por exemplo, mysample.py.

  2. Adicione as linhas seguintes para importar os módulos necessários.

    ## 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 as alterações a mysample.py.

Autenticação

Nesta secção, falamos sobre as diferentes formas de autenticar com Microsoft Entra ID. As opções disponíveis são:

Criar cliente do sistema de ficheiros

O fragmento seguinte cria primeiro o cliente da conta Data Lake Storage Gen1. Utiliza o objeto de cliente para criar uma conta Data Lake Storage Gen1. Por fim, o fragmento cria um objeto de cliente do sistema de ficheiros.

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

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

Criar um diretório

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

Carregar um ficheiro

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

Transferir um ficheiro

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

Eliminar um diretório

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

Passos seguintes

Ver também