使用 Python 在 Azure Data Lake Storage Gen1 上進行檔案系統作業
在本文中,您會了解如何使用 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 入口網站開始使用 Azure Data Lake Storage Gen1 的指示。
安裝模組
若要透過 Python 使用 Data Lake Storage Gen1,您需要安裝三個模組。
-
azure-mgmt-resource
模組,這包括適用於 Active Directory 等等的 Azure 模組。 -
azure-mgmt-datalake-store
模組包括 Azure Data Lake Storage Gen1 帳戶管理作業。 如需關於此模組的詳細資訊,請參閱 azure-mgmt-datalake-store 模組參考。 -
azure-datalake-store
模組,含有 Azure Data Lake Storage Gen1 檔案系統作業。 如需此模組的詳細資訊,請參閱 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, time
將變更儲存至 mysample.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)