Python kullanarak Azure Data Lake Storage 1. Nesil'de dosya sistemi işlemleri
Bu makalede, Azure Data Lake Storage 1. Nesil'de dosya sistemi işlemleri gerçekleştirmek için Python SDK'sını kullanmayı öğreneceksiniz. Python kullanarak Data Lake Storage 1. Nesil üzerinde hesap yönetimi işlemleri gerçekleştirme yönergeleri için bkz. Python kullanarak Data Lake Storage 1. Nesil üzerinde hesap yönetimi işlemleri.
Önkoşullar
Python. Python’u buradan indirebilirsiniz. Bu makalede Python 3.6.2 kullanılmıştır.
Bir Azure aboneliği. Bkz. Azure ücretsiz deneme sürümü edinme.
1. Nesil hesabını Azure Data Lake Storage. Azure portal kullanarak Azure Data Lake Storage 1. Nesil'i kullanmaya başlama başlığındaki yönergeleri izleyin.
Modülleri yükleme
Python kullanarak Data Lake Storage 1. Nesil çalışmak için üç modül yüklemeniz gerekir.
azure-mgmt-resource
modülü, Active Directory gibi şeyler için Azure modüllerini içerir.azure-mgmt-datalake-store
Azure Data Lake Storage 1. Nesil hesap yönetimi işlemlerini içeren modül. Bu modül hakkında daha fazla bilgi için bkz. azure-mgmt-datalake-store modülü başvurusu.azure-datalake-store
Azure Data Lake Storage 1. Nesil dosya sistemi işlemlerini içeren modül. Bu modül hakkında daha fazla bilgi için bkz. azure-datalake-store dosya sistemi modülü başvurusu.
Modülleri yüklemek için aşağıdaki komutları kullanın.
pip install azure-mgmt-resource
pip install azure-mgmt-datalake-store
pip install azure-datalake-store
Yeni Python uygulaması oluşturma
Tercih ettiğiniz IDE’de yeni bir Python uygulaması (örneğin, örneğim.py) oluşturun.
Gerekli modülleri içeri aktarmak için aşağıdaki satırları ekleyin
## 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
Değişiklikleri örneğim.py uygulamasına kaydedin.
Kimlik Doğrulaması
Bu bölümde, Microsoft Entra ID ile kimlik doğrulaması yapmanın farklı yollarından bahsedeceğiz. Şu seçenekleri kullanabilirsiniz:
- Uygulamanız için son kullanıcı kimlik doğrulaması için bkz. Python kullanarak Data Lake Storage 1. Nesil ile son kullanıcı kimlik doğrulaması.
- Uygulamanız için hizmet-hizmet kimlik doğrulaması için bkz. Python kullanarak Data Lake Storage 1. Nesil ile hizmet-hizmet kimlik doğrulaması.
Dosya sistemi istemcisini oluşturma
Aşağıdaki kod parçacığı önce Data Lake Storage 1. Nesil hesabı istemcisini oluşturur. bir Data Lake Storage 1. Nesil hesabı oluşturmak için istemci nesnesini kullanır. Kod parçacığı son olarak bir dosya sistemi istemci nesnesi oluşturur.
## Declare variables
subscriptionId = 'FILL-IN-HERE'
adlsAccountName = 'FILL-IN-HERE'
## Create a filesystem client object
adlsFileSystemClient = core.AzureDLFileSystem(adlCreds, store_name=adlsAccountName)
Dizin oluşturma
## Create a directory
adlsFileSystemClient.mkdir('/mysampledirectory')
Dosyayı karşıya yükleme
## Upload a file
multithread.ADLUploader(adlsFileSystemClient, lpath='C:\\data\\mysamplefile.txt', rpath='/mysampledirectory/mysamplefile.txt', nthreads=64, overwrite=True, buffersize=4194304, blocksize=4194304)
Dosya indirme
## Download a file
multithread.ADLDownloader(adlsFileSystemClient, lpath='C:\\data\\mysamplefile.txt.out', rpath='/mysampledirectory/mysamplefile.txt', nthreads=64, overwrite=True, buffersize=4194304, blocksize=4194304)
Bir dizini silme
## Delete a directory
adlsFileSystemClient.rm('/mysampledirectory', recursive=True)