Operazioni del file system in Azure Data Lake Storage Gen1 con Python
Questo articolo fornisce informazioni per l'uso di Python SDK per eseguire operazioni del file system in Azure Data Lake Storage Gen1. Per istruzioni su come eseguire le operazioni di gestione di account in Data Lake Storage Gen1 con Python, consultare Operazioni di gestione di account in Data Lake Storage Gen1 con Python.
Prerequisiti
Python. È possibile scaricare Python qui. Questo articolo fa riferimento a Python 3.6.2.
Una sottoscrizione di Azure. Vedere Ottenere una versione di prova gratuita di Azure.
Account Azure Data Lake Storage Gen1. Seguire le istruzioni fornite in Introduzione ad Azure Data Lake Storage Gen1 con il portale di Azure.
Installare i moduli
Per usare Data Lake Storage Gen1 con Python, è necessario installare tre moduli.
- Il modulo
azure-mgmt-resource
che include i moduli di Azure per Active Directory e così via. - Il modulo
azure-mgmt-datalake-store
che include le operazioni di gestione di account di Azure Data Lake Storage Gen1. Per altre informazioni su questo modulo, vedere le informazioni di riferimento sul modulo azure-mgmt-datalake-store. - Il modulo
azure-datalake-store
che include le operazioni del file system di Azure Data Lake Storage Gen1. Per altre informazioni su questo modulo, vedere le informazioni di riferimento sul modulo del file system azure-datalake-store.
Per installare i moduli, usare i comandi seguenti.
pip install azure-mgmt-resource
pip install azure-mgmt-datalake-store
pip install azure-datalake-store
Creare una nuova applicazione Python
In un IDE a scelta creare una nuova applicazione Python, ad esempio mysample.py.
Aggiungere le righe seguenti per importare i moduli necessari
## 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
Salvare le modifiche a mysample.py.
Authentication
In questa sezione vengono illustrati i diversi modi per eseguire l'autenticazione con Microsoft Entra ID. Le opzioni disponibili sono:
- Per l'autenticazione dell'utente finale nell'applicazione, consultare Autenticazione dell'utente finale con Data Lake Storage Gen1 con Python.
- Per l'autenticazione da servizio a servizio per l'applicazione, vedere Autenticazione da servizio a servizio con Data Lake Storage Gen1 tramite Python.
Creare il client del file system
Il frammento di codice seguente crea innanzitutto il client dell'account Data Lake Storage Gen1. Usa l'oggetto client per creare un account Data Lake Storage Gen1. e infine crea un oggetto client per il file system.
## Declare variables
subscriptionId = 'FILL-IN-HERE'
adlsAccountName = 'FILL-IN-HERE'
## Create a filesystem client object
adlsFileSystemClient = core.AzureDLFileSystem(adlCreds, store_name=adlsAccountName)
Creare una directory
## Create a directory
adlsFileSystemClient.mkdir('/mysampledirectory')
Caricare un file
## Upload a file
multithread.ADLUploader(adlsFileSystemClient, lpath='C:\\data\\mysamplefile.txt', rpath='/mysampledirectory/mysamplefile.txt', nthreads=64, overwrite=True, buffersize=4194304, blocksize=4194304)
Scaricare un file
## Download a file
multithread.ADLDownloader(adlsFileSystemClient, lpath='C:\\data\\mysamplefile.txt.out', rpath='/mysampledirectory/mysamplefile.txt', nthreads=64, overwrite=True, buffersize=4194304, blocksize=4194304)
Eliminare una directory
## Delete a directory
adlsFileSystemClient.rm('/mysampledirectory', recursive=True)