이 문서에서는 Python SDK를 사용하여 Azure Data Lake Storage Gen1에서 파일 시스템 작업을 수행하는 방법을 알아봅니다. Python을 사용하여 Data Lake Storage Gen1에서 계정 관리 작업을 수행하는 방법에 대한 지침은 Python을 사용하여 Data Lake Storage Gen1의 계정 관리 작업을 참조하세요.
필수 조건
Python. 여기에서 Python을 다운로드할 수 있습니다. 이 문서에서는 Python 3.6.2를 사용합니다.
Azure 구독. Azure 평가판 가져오기를 참조하세요.
Azure Data Lake Storage Gen1 계정. Azure Portal을 사용하여 Azure Data Lake Storage Gen1 시작의 지침을 따릅니다.
모듈 설치
Python을 통해 Data Lake Storage Gen1을 사용하려면 세 가지 모듈을 설치해야 합니다.
- Active Directory 등 Azure 모듈을 포함하는
azure-mgmt-resource모듈. - Azure Data Lake Storage Gen1 계정 관리 작업을 포함하는
azure-mgmt-datalake-store모듈. 이 모듈에 대한 자세한 내용은 azure-mgmt-datalake-store 모듈 참조를 참조하세요. - Azure Data Lake Storage Gen1 파일 시스템 작업을 포함하는
azure-datalake-store모듈. 이 모듈에 대한 자세한 내용은 azure-datalake-store 파일 시스템 모듈 참조 참조하세요.
다음 명령을 사용하여 모듈을 설치합니다.
pip install azure-mgmt-resource
pip install azure-mgmt-datalake-store
pip install azure-datalake-store
새 Python 애플리케이션 만들기
선택한 IDE에서 새 Python 애플리케이션(예: mysample.py)을 만듭니다.
다음 줄을 추가하여 필요한 모듈을 가져옵니다.
## 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, timemysample.py의 변경 내용을 저장합니다.
인증
이 섹션에서는 Microsoft Entra ID로 인증하는 다양한 방법에 대해 설명합니다. 사용할 수 있는 옵션은 다음과 같습니다.
- 애플리케이션에 대한 최종 사용자 인증은 Python을 사용하여 Data Lake Storage Gen1로 최종 사용자 인증을 참조하세요.
- 애플리케이션에 대한 서비스 간 인증은 Python을 사용하여 Data Lake Storage Gen1로 서비스 간 인증을 참조하세요.
파일 시스템 클라이언트 만들기
다음 코드 조각은 Data Lake Storage Gen1 계정 클라이언트를 먼저 만듭니다. 클라이언트 개체를 사용하여 Data Lake Storage Gen1 계정을 만듭니다. 마지막으로 코드 조각은 파일 시스템 클라이언트 개체를 만듭니다.
## Declare variables
subscriptionId = 'FILL-IN-HERE'
adlsAccountName = 'FILL-IN-HERE'
## Create a filesystem client object
adlsFileSystemClient = core.AzureDLFileSystem(adlCreds, store_name=adlsAccountName)
디렉터리 만들기
## Create a directory
adlsFileSystemClient.mkdir('/mysampledirectory')
파일 업로드
## Upload a file
multithread.ADLUploader(adlsFileSystemClient, lpath='C:\\data\\mysamplefile.txt', rpath='/mysampledirectory/mysamplefile.txt', nthreads=64, overwrite=True, buffersize=4194304, blocksize=4194304)
파일 다운로드
## Download a file
multithread.ADLDownloader(adlsFileSystemClient, lpath='C:\\data\\mysamplefile.txt.out', rpath='/mysampledirectory/mysamplefile.txt', nthreads=64, overwrite=True, buffersize=4194304, blocksize=4194304)
디렉터리 삭제
## Delete a directory
adlsFileSystemClient.rm('/mysampledirectory', recursive=True)