DataLakeServiceClient クラス
アカウント レベルで DataLake サービスと対話するクライアント。
このクライアントは、アカウントのプロパティの取得と構成、およびアカウント内のファイル システムの一覧表示、作成、削除を行う操作を提供します。 特定のファイル システム、ディレクトリ、またはファイルに関連する操作の場合、これらのエンティティのクライアントは 、get_client 関数を使用して取得することもできます。
- 継承
-
azure.storage.filedatalake._shared.base_client.StorageAccountHostsMixinDataLakeServiceClient
コンストラクター
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
認証に使用する資格情報。 アカウント 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
パラメーター
- 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
パラメーター
- credential
認証に使用する資格情報。 これは、アカウント 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
パラメーター
- 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]
パラメーター
- 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
パラメーター
- 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
Azure SDK for Python