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 portal で Azure 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 アプリケーションを作成する
任意の IDE で、mysample.py などの新しい Python アプリケーションを作成します。
必要なモジュールをインポートする次の行を追加します。
## 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で認証するさまざまな方法について説明します。 次の方法を使用できます。
- アプリケーションのエンドユーザー認証については、Data Lake Storage Gen1 による Python を使用したエンドユーザー認証に関する記事をご覧ください。
- アプリケーションのサービス間認証については、Data Lake Storage Gen1 による Python を使用したサービス間認証に関する記事をご覧ください。
ファイルシステム クライアントを作成する
次のスニペットは、まず 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)