Operações do 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 do 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 Python, consulte Operações de gerenciamento de conta no Data Lake Storage Gen1 usando Python.
Pré-requisitos
Python. Pode transferir Python aqui. Este artigo utiliza a versão Python 3.6.2.
Uma assinatura do Azure. Veja Obter versão de avaliação gratuita do Azure.
conta do Azure Data Lake Storage Gen1. Siga as instruções em Introdução ao Azure Data Lake Storage Gen1 usando o portal do Azure.
Instalar os módulos
Para trabalhar com o Data Lake Storage Gen1 usando 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
azure-mgmt-datalake-store
módulo, que inclui as operações de gerenciamento de conta do Azure Data Lake Storage Gen1. Para obter mais informações sobre este módulo, consulte o azure-mgmt-datalake-store module reference. - O
azure-datalake-store
módulo, que inclui as operações do sistema de arquivos Azure Data Lake Storage Gen1. Para obter mais informações sobre este módulo, consulte o azure-datalake-store file-system module reference.
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
No IDE à sua escolha, crie uma aplicação Python nova, como, por exemplo, mysample.py.
Adicione as seguintes linhas 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
Guarde as alterações a mysample.py.
Autenticação
Nesta seção, falamos sobre as diferentes maneiras de autenticar com o Microsoft Entra ID. As opções disponíveis são:
- Para autenticação de usuário final para seu aplicativo, consulte Autenticação de usuário final com Data Lake Storage Gen1 usando Python.
- Para autenticação de serviço a serviço para seu aplicativo, consulte Autenticação de serviço a serviço com o Data Lake Storage Gen1 usando Python.
Criar cliente de sistema de arquivos
O trecho a seguir cria primeiro o cliente de conta do Data Lake Storage Gen1. Ele usa o objeto cliente para criar uma conta do 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)
Descarregar 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)