共用方式為


使用 Python 在 Azure Data Lake Storage Gen1 上進行檔案系統作業

在本文中,您會了解如何使用 Python SDK 在 Azure Data Lake Storage Gen1 上執行檔案系統作業。 如需有關如何使用 Python 在 Data Lake Storage Gen1 上執行帳戶管理作業的指示,請參閱使用 Python 在 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 應用程式

  1. 在您選定的整合式開發環境 (IDE) 中建立新的 Python 應用程式,例如 mysample.py

  2. 加入以下文字行以匯入必要模組

    ## 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
    
  3. 將變更儲存至 mysample.py。

驗證

在本節中,我們將討論使用 Microsoft Entra ID 進行驗證的不同方式。 可用的選項如下︰

建立檔案系統用戶端

下列程式碼片段會先建立 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)

下一步

另請參閱