DataLakeServiceClient クラス

アカウント レベルで DataLake サービスと対話するクライアント。

このクライアントは、アカウントのプロパティの取得と構成、およびアカウント内のファイル システムの一覧表示、作成、削除を行う操作を提供します。 特定のファイル システム、ディレクトリ、またはファイルに関連する操作の場合、これらのエンティティのクライアントは 、get_client 関数を使用して取得することもできます。

継承
azure.storage.filedatalake._shared.base_client.StorageAccountHostsMixin
DataLakeServiceClient

コンストラクター

DataLakeServiceClient(account_url: str, credential: str | Dict[str, str] | AzureNamedKeyCredential | AzureSasCredential | TokenCredential | None = None, **kwargs: Any)

パラメーター

account_url
str
必須

DataLake ストレージ アカウントの URL。 URL パスに含まれるその他のエンティティ (ファイル システムやファイルなど) は破棄されます。 この URL は、必要に応じて SAS トークンで認証できます。

credential
既定値: None

認証に使用する資格情報。 アカウント URL に SAS トークンが既に含まれている場合、これは省略可能です。 値には、SAS トークン文字列、azure.core.credentials の AzureSasCredential または AzureNamedKeyCredential のインスタンス、アカウント共有アクセス キー、または azure.identity の TokenCredentials クラスのインスタンスを指定できます。 リソース URI に SAS トークンが既に含まれている場合、明示的な資格情報を優先して無視されます

  • 競合する SAS トークンによって ValueError が発生する AzureSasCredential の場合を除きます。 AzureNamedKeyCredential のインスタンスを使用する場合は、"name" をストレージ アカウント名に、"key" をストレージ アカウント キーにする必要があります。
api_version
str

要求に使用するストレージ API バージョン。 既定値は、現在の SDK と互換性のある最新のサービス バージョンです。 古いバージョンに設定すると、機能の互換性が低下する可能性があります。

接続文字列から DataLakeServiceClient を作成する。


   from azure.storage.filedatalake import DataLakeServiceClient
   datalake_service_client = DataLakeServiceClient.from_connection_string(self.connection_string)

Azure Identity 資格情報を使用して DataLakeServiceClient を作成する。


   from azure.identity import ClientSecretCredential
   token_credential = ClientSecretCredential(
       self.active_directory_tenant_id,
       self.active_directory_application_id,
       self.active_directory_application_secret,
   )
   datalake_service_client = DataLakeServiceClient("https://{}.dfs.core.windows.net".format(self.account_name),
                                                   credential=token_credential)

変数

url
str

datalake サービス エンドポイントへの完全なエンドポイント URL。

primary_endpoint
str

完全なプライマリ エンドポイント URL。

primary_hostname
str

プライマリ エンドポイントのホスト名。

メソッド

close

このメソッドは、クライアントによって開かれたソケットを閉じる方法です。 コンテキスト マネージャーで を使用する場合は使用する必要はありません。

create_file_system

指定したアカウントの下に新しいファイル システムを作成します。

同じ名前のファイル システムが既に存在する場合は、ResourceExistsError が発生します。 このメソッドは、新しく作成されたファイル システムと対話するクライアントを返します。

delete_file_system

指定したファイル システムに削除のマークを付けます。

ファイル システムとその中に含まれるすべてのファイルは、後でガベージ コレクション中に削除されます。 ファイル システムが見つからない場合は、ResourceNotFoundError が発生します。

from_connection_string

接続文字列から DataLakeServiceClient を作成します。

:return a DataLakeServiceClient :rtype ~azure.storage.filedatalake.DataLakeServiceClient

get_directory_client

指定したディレクトリと対話するクライアントを取得します。

ディレクトリがまだ存在している必要はありません。

get_file_client

指定したファイルと対話するクライアントを取得します。

ファイルがまだ存在している必要はありません。

get_file_system_client

指定したファイル システムと対話するクライアントを取得します。

ファイル システムがまだ存在している必要はありません。

get_service_properties

Azure Storage Analyticsを含むストレージ アカウントの datalake サービスのプロパティを取得します。

バージョン 12.4.0 の新機能: この操作は API バージョン '2020-06-12' で導入されました。

get_user_delegation_key

SAS トークンに署名するために、ユーザー委任キーを取得します。 この要求を成功させるには、サービス オブジェクトにトークン資格情報が存在する必要があります。

list_file_systems

指定したアカウントのファイル システムを一覧表示するジェネレーターを返します。

ジェネレーターは、サービスによって返された継続トークンに遅れて従い、すべてのファイル システムが返されたときに停止します。

set_service_properties

Azure Storage Analyticsを含むストレージ アカウントの Datalake サービスのプロパティを設定します。

バージョン 12.4.0 の新機能: この操作は API バージョン '2020-06-12' で導入されました。

要素 (例: analytics_logging) が None のままの場合、その機能に対するサービスの既存の設定は保持されます。

undelete_file_system

論理的に削除されたファイルシステムを復元します。

操作は、削除アイテム保持ポリシーで設定された指定した日数以内に使用された場合にのみ成功します。

バージョン 12.3.0 の新機能: この操作は API バージョン '2019-12-12' で導入されました。

close

このメソッドは、クライアントによって開かれたソケットを閉じる方法です。 コンテキスト マネージャーで を使用する場合は使用する必要はありません。

close() -> None

create_file_system

指定したアカウントの下に新しいファイル システムを作成します。

同じ名前のファイル システムが既に存在する場合は、ResourceExistsError が発生します。 このメソッドは、新しく作成されたファイル システムと対話するクライアントを返します。

create_file_system(file_system: FileSystemProperties | str, metadata: Dict[str, str] | None = None, public_access: PublicAccess | None = None, **kwargs) -> FileSystemClient

パラメーター

file_system
str
必須

作成するファイル システムの名前。

metadata
dict(str, str)
必須

ファイル システムにメタデータとして関連付ける名前と値のペアを持つディクテーション。 例: {'Category':'test'}

public_access
PublicAccess
必須

使用可能な値は、ファイル システム、ファイルです。

encryption_scope_options
dict または EncryptionScopeOptions

ファイル システムで設定し、今後のすべての書き込みに使用する既定の暗号化スコープを指定します。

バージョン 12.9.0 の新機能。

timeout
int

操作のサーバー側タイムアウトを秒単位で設定します。 詳細については、 https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations を参照してください。 この値は、クライアントで追跡または検証されません。 クライアント側のネットワーク タイムアウトを構成するには、 こちらを参照してください

の戻り値の型 :

datalake サービスでのファイル システムの作成。


   datalake_service_client.create_file_system("filesystem")

delete_file_system

指定したファイル システムに削除のマークを付けます。

ファイル システムとその中に含まれるすべてのファイルは、後でガベージ コレクション中に削除されます。 ファイル システムが見つからない場合は、ResourceNotFoundError が発生します。

delete_file_system(file_system: FileSystemProperties | str, **kwargs) -> FileSystemClient

パラメーター

file_system
str または FileSystemProperties
必須

削除するファイル システム。 ファイル システムの名前、または FileSystemProperties のインスタンスを指定できます。

lease
DataLakeLeaseClient または str

指定した場合、delete_file_systemは、ファイル システムのリースがアクティブで、この ID と一致する場合にのみ成功します。 ファイル システムにアクティブなリースがある場合は必須です。

if_modified_since
datetime

DateTime 値。 Azure では、渡された日付値が UTC であると想定しています。 タイムゾーンが含まれている場合、UTC 以外の日時は UTC に変換されます。 タイムゾーン情報なしで日付が渡された場合は、UTC と見なされます。 このヘッダーを指定すると、指定した時刻以降にリソースが変更されている場合に限り操作が実行されます。

if_unmodified_since
datetime

DateTime 値。 Azure では、渡された日付値が UTC であると想定しています。 タイムゾーンが含まれている場合、UTC 以外の日時は UTC に変換されます。 タイムゾーン情報なしで日付が渡された場合は、UTC と見なされます。 このヘッダーを指定すると、指定した日付/時刻以降にリソースが変更されていない場合に限り操作が実行されます。

etag
str

ETag 値またはワイルドカード文字 (*)。 リソースが変更されたかどうかをチェックし、match_condition パラメーターで指定された条件に従って動作するために使用されます。

match_condition
MatchConditions

etag で使用する一致条件。

timeout
int

操作のサーバー側タイムアウトを秒単位で設定します。 詳細については、 https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations を参照してください。 この値は、クライアントで追跡または検証されません。 クライアント側のネットワーク タイムアウトを構成するには、 こちらを参照してください

の戻り値の型 :

datalake サービスでファイル システムを削除する。


   datalake_service_client.delete_file_system("filesystem")

from_connection_string

接続文字列から DataLakeServiceClient を作成します。

:return a DataLakeServiceClient :rtype ~azure.storage.filedatalake.DataLakeServiceClient

from_connection_string(conn_str: str, credential: str | Dict[str, str] | AzureNamedKeyCredential | AzureSasCredential | TokenCredential | None = None, **kwargs: Any) -> Self

パラメーター

conn_str
str
必須

Azure Storage アカウントへの接続文字列。

credential
既定値: None

認証に使用する資格情報。 これは、アカウント URL に既に SAS トークンがある場合、または接続文字列に既に共有アクセス キー値がある場合は省略可能です。 値には、SAS トークン文字列、azure.core.credentials の AzureSasCredential のインスタンス、アカウント共有アクセス キー、または azure.identity の TokenCredentials クラスのインスタンスを指定できます。 ここで指定した資格情報は、接続文字列内の資格情報よりも優先されます。

接続文字列から DataLakeServiceClient を作成する。


   from azure.storage.filedatalake import DataLakeServiceClient
   datalake_service_client = DataLakeServiceClient.from_connection_string(self.connection_string)

get_directory_client

指定したディレクトリと対話するクライアントを取得します。

ディレクトリがまだ存在している必要はありません。

get_directory_client(file_system: FileSystemProperties | str, directory: DirectoryProperties | str) -> DataLakeDirectoryClient

パラメーター

file_system
str または FileSystemProperties
必須

ディレクトリが存在するファイル システム。 ファイル システムの名前、または FileSystemProperties のインスタンスを指定できます。

directory
str または DirectoryProperties
必須

対話するディレクトリ。 ディレクトリの名前、または DirectoryProperties のインスタンスを指定できます。

戻り値

DataLakeDirectoryClient。

の戻り値の型 :

ディレクトリ クライアントを取得して特定のディレクトリと対話する。


   directory_client = datalake_service_client.get_directory_client(file_system_client.file_system_name,
                                                                   "mydirectory")

get_file_client

指定したファイルと対話するクライアントを取得します。

ファイルがまだ存在している必要はありません。

get_file_client(file_system: FileSystemProperties | str, file_path: FileProperties | str) -> DataLakeFileClient

パラメーター

file_system
str または FileSystemProperties
必須

ファイルが存在するファイル システム。 ファイル システムの名前、または FileSystemProperties のインスタンスを指定できます。

file_path
str または FileProperties
必須

対話するファイル。 ファイルの完全パス (ルート ディレクトリから) または FileProperties のインスタンスを指定できます。例えば。directory/サブディレクトリ/ファイル

戻り値

DataLakeFileClient。

の戻り値の型 :

特定のファイルと対話するためのファイル クライアントの取得。


   file_client = datalake_service_client.get_file_client(file_system_client.file_system_name, "myfile")

get_file_system_client

指定したファイル システムと対話するクライアントを取得します。

ファイル システムがまだ存在している必要はありません。

get_file_system_client(file_system: FileSystemProperties | str) -> FileSystemClient

パラメーター

file_system
str または FileSystemProperties
必須

ファイル システム。 ファイル システムの名前、または FileSystemProperties のインスタンスを指定できます。

戻り値

FileSystemClient。

の戻り値の型 :

特定のファイル システムと対話するためのファイル システム クライアントの取得。


   # Instantiate a DataLakeServiceClient using a connection string
   from azure.storage.filedatalake import DataLakeServiceClient
   datalake_service_client = DataLakeServiceClient.from_connection_string(self.connection_string)

   # Instantiate a FileSystemClient
   file_system_client = datalake_service_client.get_file_system_client("mynewfilesystem")

get_service_properties

Azure Storage Analyticsを含むストレージ アカウントの datalake サービスのプロパティを取得します。

バージョン 12.4.0 の新機能: この操作は API バージョン '2020-06-12' で導入されました。

get_service_properties(**kwargs: Any) -> Dict[str, Any]

パラメーター

timeout
int

操作のサーバー側タイムアウトを秒単位で設定します。 詳細については、 https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations を参照してください。 この値は、クライアントで追跡または検証されません。 クライアント側のネットワーク タイムアウトを構成するには、 こちらを参照してください

戻り値

分析ログ、時間/分メトリック、cors ルールなどの datalake サービス プロパティを含むオブジェクト。

の戻り値の型 :

get_user_delegation_key

SAS トークンに署名するために、ユーザー委任キーを取得します。 この要求を成功させるには、サービス オブジェクトにトークン資格情報が存在する必要があります。

get_user_delegation_key(key_start_time: datetime, key_expiry_time: datetime, **kwargs: Any) -> UserDelegationKey

パラメーター

key_start_time
datetime
必須

DateTime 値。 キーが有効になるタイミングを示します。

key_expiry_time
datetime
必須

DateTime 値。 キーが有効でなくなるタイミングを示します。

timeout
int

操作のサーバー側タイムアウトを秒単位で設定します。 詳細については、 https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations を参照してください。 この値は、クライアントで追跡または検証されません。 クライアント側のネットワーク タイムアウトを構成するには、 こちらを参照してください

戻り値

ユーザー委任キー。

の戻り値の型 :

datalake サービス クライアントからユーザー委任キーを取得します。


   from datetime import datetime, timedelta
   user_delegation_key = datalake_service_client.get_user_delegation_key(datetime.utcnow(),
                                                                         datetime.utcnow() + timedelta(hours=1))

list_file_systems

指定したアカウントのファイル システムを一覧表示するジェネレーターを返します。

ジェネレーターは、サービスによって返された継続トークンに遅れて従い、すべてのファイル システムが返されたときに停止します。

list_file_systems(name_starts_with: str | None = None, include_metadata: bool | None = None, **kwargs) -> ItemPaged[FileSystemProperties]

パラメーター

name_starts_with
str
必須

結果をフィルター処理して、名前が指定したプレフィックスで始まるファイル システムのみを返します。

include_metadata
bool
必須

応答でファイル システム メタデータを返すように指定します。 既定値は Falseです。

results_per_page
int

API 呼び出しごとに取得するファイル システム名の最大数。 要求で指定されていない場合、サーバーは 1 ページあたり最大 5,000 個のアイテムを返します。

timeout
int

操作のサーバー側タイムアウトを秒単位で設定します。 詳細については、 https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations を参照してください。 この値は、クライアントで追跡または検証されません。 クライアント側のネットワーク タイムアウトを構成するには、 こちらを参照してください

include_deleted
bool

削除されたファイル システムを応答で返すように指定します。 これは、ファイル システムの復元が有効なアカウント用です。 既定値は Falseです。 .. versionadded:: 12.3.0

include_system
bool

システム ファイルシステムを含める必要があることを指定するフラグ。 .. versionadded:: 12.6.0

戻り値

FileSystemProperties の iterable (自動ページング) です。

の戻り値の型 :

datalake サービス内のファイル システムを一覧表示します。


   file_systems = datalake_service_client.list_file_systems()
   for file_system in file_systems:
       print(file_system.name)

set_service_properties

Azure Storage Analyticsを含むストレージ アカウントの Datalake サービスのプロパティを設定します。

バージョン 12.4.0 の新機能: この操作は API バージョン '2020-06-12' で導入されました。

要素 (例: analytics_logging) が None のままの場合、その機能に対するサービスの既存の設定は保持されます。

set_service_properties(**kwargs: Any) -> None

パラメーター

analytics_logging

Azure Analytics の Logging 設定をグループ化します。

hour_metrics

時間メトリック設定では、API 別にグループ化された要求統計の概要が時間単位の集計で示されます。

minute_metrics

分単位のメトリック設定では、1 分ごとに要求の統計情報が提供されます。

cors

リストには、最大 5 つの CorsRule 要素を含めることができます。 空のリストを指定すると、すべての CORS ルールが削除され、サービスに対して CORS が無効になります。

target_version
str

受信要求のバージョンが指定されていない場合に要求に使用する既定のバージョンを示します。

delete_retention_policy

削除アイテム保持ポリシーは、削除されたファイル/ディレクトリを保持するかどうかを指定します。 また、保持するファイル/ディレクトリの日数とバージョンも指定します。

static_website

静的 Web サイト機能を有効にするかどうかを指定し、はい場合は、使用するインデックス ドキュメントと 404 エラー ドキュメントを示します。

timeout
int

操作のサーバー側タイムアウトを秒単位で設定します。 詳細については、 https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations を参照してください。 この値は、クライアントで追跡または検証されません。 クライアント側のネットワーク タイムアウトを構成するには、 こちらを参照してください

の戻り値の型 :

undelete_file_system

論理的に削除されたファイルシステムを復元します。

操作は、削除アイテム保持ポリシーで設定された指定した日数以内に使用された場合にのみ成功します。

バージョン 12.3.0 の新機能: この操作は API バージョン '2019-12-12' で導入されました。

undelete_file_system(name: str, deleted_version: str, **kwargs: Any) -> FileSystemClient

パラメーター

name
str
必須

復元する削除されたファイルシステムの名前を指定します。

deleted_version
str
必須

復元する削除されたファイルシステムのバージョンを指定します。

timeout
int

操作のサーバー側タイムアウトを秒単位で設定します。 詳細については、 https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations を参照してください。 この値は、クライアントで追跡または検証されません。 クライアント側のネットワーク タイムアウトを構成するには、 こちらを参照してください

戻り値

復元された solft-deleted FileSystemClient。

の戻り値の型 :

属性

api_version

要求に使用される Storage API のバージョン。

location_mode

クライアントが現在使用している場所モード。

既定では、これは "プライマリ" になります。 オプションには、"primary" と "secondary" が含まれます。

primary_endpoint

完全なプライマリ エンドポイント URL。

primary_hostname

プライマリ エンドポイントのホスト名。

secondary_endpoint

完全なセカンダリ エンドポイント URL (構成されている場合)。

使用できない場合は、ValueError が発生します。 セカンダリ ホスト名を明示的に指定するには、インスタンス化時に省略可能な secondary_hostname キーワード (keyword) 引数を使用します。

例外

secondary_hostname

セカンダリ エンドポイントのホスト名。

使用できない場合、これは None になります。 セカンダリ ホスト名を明示的に指定するには、インスタンス化時に省略可能な secondary_hostname キーワード (keyword) 引数を使用します。

url

SAS トークン (使用されている場合) を含む、このエンティティへの完全なエンドポイント URL。

これは、現在 location_modeの に応じて、プライマリ エンドポイントまたはセカンダリ エンドポイントのいずれかになります。 :returns: SAS トークン (使用されている場合) を含む、このエンティティへの完全なエンドポイント URL。 :rtype: str