Operações de sistema de arquivos no Azure Data Lake Storage Gen1 usando Python

Neste artigo, você aprenderá a usar o SDK do Python para executar operações de sistema de arquivos no Azure Data Lake Storage Gen1. Para obter instruções sobre como executar operações de gerenciamento de conta no Data Lake Storage Gen1 usando o Python, veja Operações de gerenciamento de conta no Data Lake Storage Gen1 usando o Python.

Pré-requisitos

Instalar os módulos

Para trabalhar com o Data Lake Storage Gen1 usando o Python, você precisa instalar três módulos.

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

Use os comandos a seguir para instalar os módulos.

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

Criar um novo aplicativo Python

  1. Use o IDE de sua escolha para criar um novo aplicativo Python, por exemplo, mysample.py.

  2. Adicione as linhas a seguir 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. Salve as alterações a mysample.py.

Autenticação

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

Criar cliente do sistema de arquivos

O snippet a seguir primeiro cria o cliente da conta do Data Lake Storage Gen1. Ele usa o objeto cliente para criar uma conta do Data Lake Storage Gen1. Finalmente, o snippet de código cria um objeto de cliente do sistema de arquivos.

## 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')

Fazer upload de um arquivo

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

Baixar um arquivo

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

Excluir um diretório

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

Próximas etapas

Confira também