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 を操作するには、3 つのモジュールをインストールする必要があります。

  • 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 で、mysample.py などの新しい Python アプリケーションを作成します。

  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 に対する変更を保存します。

認証

このセクションでは、Azure AD で認証を行うさまざまな方法について説明します。 次の方法を使用できます。

ファイルシステム クライアントを作成する

次のスニペットは、まず 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)

次のステップ

関連項目