FileSystemClient クラス

そのファイル システムがまだ存在しない場合でも、特定のファイル システムと対話するクライアント。

このファイル システム内の特定のディレクトリまたはファイルに関連する操作では、 または get_file_client 関数を使用してディレクトリ クライアントまたはファイル クライアントをget_directory_client取得できます。

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

コンストラクター

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

パラメーター

account_url
str
必須

ストレージ アカウントへの URI。

file_system_name
str
必須

ディレクトリまたはファイルのファイル システム。

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 から 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")

変数

url
str

使用されている場合は SAS トークンを含む、ファイル システムへの完全なエンドポイント URL。

primary_endpoint
str

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

primary_hostname
str

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

メソッド

acquire_lease

新しいリースを要求します。 ファイル システムにアクティブなリースがない場合、DataLake サービスはファイル システムにリースを作成し、新しいリース ID を返します。

close

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

create_directory

ディレクトリの作成

create_file

[ファイルの作成]

create_file_system

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

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

delete_directory

指定したパスを削除対象としてマークします。

delete_file

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

delete_file_system

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

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

exists

ファイル システムが存在する場合は True を返し、それ以外の場合は False を返します。

from_connection_string

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

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

get_directory_client

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

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

get_file_client

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

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

get_file_system_access_policy

指定したファイル システムのアクセス許可を取得します。 アクセス許可は、ファイル システム データにパブリックにアクセスできるかどうかを示します。

get_file_system_properties

指定したファイル システムのすべてのユーザー定義メタデータとシステム プロパティを返します。 返されるデータには、ファイル システムのパスの一覧は含まれません。

get_paths

指定したファイル システムのパス (ファイルまたはディレクトリである可能性があります) を一覧表示するジェネレーターを返します。 ジェネレーターは、サービスによって返される継続トークンに遅れて従います。

list_deleted_paths

指定したファイル システムで削除された (ファイルまたはディレクトリ) パスを一覧表示するジェネレーターを返します。 ジェネレーターは、サービスによって返される継続トークンに遅れて従います。

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

set_file_system_access_policy

Shared Access Signature で使用できる、指定したファイル システムまたは格納されているアクセス ポリシーのアクセス許可を設定します。 アクセス許可は、ファイル システム内のファイルにパブリックにアクセスできるかどうかを示します。

set_file_system_metadata

指定したファイル システムの 1 つ以上のユーザー定義の名前と値のペアを設定します。 この操作を呼び出すたびに、ファイル システムにアタッチされているすべての既存のメタデータが置き換えられます。 ファイル システムからすべてのメタデータを削除するには、メタデータ ディクテーションなしでこの操作を呼び出します。

acquire_lease

新しいリースを要求します。 ファイル システムにアクティブなリースがない場合、DataLake サービスはファイル システムにリースを作成し、新しいリース ID を返します。

acquire_lease(lease_duration: int = -1, lease_id: str | None = None, **kwargs) -> DataLakeLeaseClient

パラメーター

lease_duration
int
必須

リース期間 (秒単位) を指定します。無期限のリースには -1 を指定します。 無限リースでない場合は、15 ~ 60 秒を指定できます。 更新または変更を使用してリース期間を変更することはできません。 既定値は -1 (無限リース) です。

lease_id
str
必須

GUID 文字列形式の推奨リース ID。 提案されたリース ID が正しい形式でない場合、DataLake サービスは 400 (無効な要求) を返します。

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 を参照してください。 この値は、クライアントで追跡または検証されません。 クライアント側のネットワーク タイムアウトを構成するには、 こちらを参照してください

戻り値

コンテキスト マネージャーで実行できる DataLakeLeaseClient オブジェクト。

の戻り値の型 :

ファイル システムでのリースの取得。


   # Acquire a lease on the file system
   lease = file_system_client.acquire_lease()

   # Delete file system by passing in the lease
   file_system_client.delete_file_system(lease=lease)

close

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

close() -> None

create_directory

ディレクトリの作成

create_directory(directory: DirectoryProperties | str, metadata: Dict[str, str] | None = None, **kwargs) -> DataLakeDirectoryClient

パラメーター

directory
str または DirectoryProperties
必須

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

metadata
dict(str, str)
必須

ファイルにメタデータとして関連付ける名前と値のペア。

content_settings
ContentSettings

パス プロパティの設定に使用される ContentSettings オブジェクト。

lease
DataLakeLeaseClient または str

ファイルにアクティブなリースがある場合は必須。 値には、DataLakeLeaseClient オブジェクトまたはリース ID を文字列として指定できます。

umask
str

省略可能で、アカウントに対して階層型名前空間が有効になっている場合にのみ有効です。 ファイルまたはディレクトリを作成し、親フォルダーに既定の ACL がない場合、umask は作成するファイルまたはディレクトリのアクセス許可を制限します。 結果のアクセス許可は p & ^u によって与えられます。ここで、p はアクセス許可で、umask はユーザーです。 たとえば、p が 0777 で 0057 の場合、結果のアクセス許可は 0720 になります。 既定のアクセス許可は、ディレクトリの場合は 0777、ファイルの場合は 0666 です。 既定の umask は 0027 です。 umask は 4 桁の 8 進数表記 (例: 0766) で指定する必要があります。

owner
str

ファイルまたはディレクトリの所有者。

group
str

ファイルまたはディレクトリの所有グループ。

acl
str

ファイルとディレクトリに対する POSIX アクセス制御権限を設定します。 値は、アクセス制御エントリのコンマ区切りのリストです。 各アクセス制御エントリ (ACE) は、スコープ、型、ユーザーまたはグループ識別子、および "[scope:][type]:[id]:[permissions]" 形式のアクセス許可で構成されます。

lease_id
str

GUID 文字列形式の推奨リース ID。 提案されたリース ID が正しい形式でない場合、DataLake サービスは 400 (無効な要求) を返します。

lease_duration
int

リース期間 (秒単位) を指定します。無期限のリースには -1 を指定します。 無限リースでない場合は、15 ~ 60 秒を指定できます。 更新または変更を使用してリース期間を変更することはできません。

permissions
str

省略可能で、アカウントに対して階層型名前空間が有効になっている場合にのみ有効です。 ファイル所有者、ファイル所有グループなどの POSIX アクセス許可を設定します。 各クラスには、読み取り、書き込み、または実行のアクセス許可を付与できます。 スティッキー ビットもサポートされています。 シンボリック (rwxrw-rw-) と 4 桁の 8 進数表記 (0766 など) の両方がサポートされています。

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 を参照してください。 この値は、クライアントで追跡または検証されません。 クライアント側のネットワーク タイムアウトを構成するには、 こちらを参照してください。

戻り値

DataLakeDirectoryClient

ファイル システムにディレクトリを作成します。


   directory_client = file_system_client.create_directory("mydirectory")

create_file

[ファイルの作成]

create_file(file: FileProperties | str, **kwargs) -> DataLakeFileClient

パラメーター

file
str または FileProperties
必須

対話するファイル。 ファイルの名前、または FileProperties のインスタンスを指定できます。

content_settings
ContentSettings
必須

パス プロパティを設定するために使用される ContentSettings オブジェクト。

metadata
dict(str, str)
必須

ファイルにメタデータとして関連付ける名前と値のペア。

lease
DataLakeLeaseClient または str

ファイルにアクティブなリースがある場合は必須です。 値には、DataLakeLeaseClient オブジェクト、または文字列としてのリース ID を指定できます。

umask
str

アカウントに対して階層型名前空間が有効になっている場合にのみ、省略可能で有効です。 ファイルまたはディレクトリを作成し、親フォルダーに既定の ACL がない場合、umask は作成するファイルまたはディレクトリのアクセス許可を制限します。 結果のアクセス許可は p & ^u によって与えられます。ここで、p はアクセス許可であり、umask です。 たとえば、p が 0777 で、0057 の場合、結果のアクセス許可は 0720 になります。 既定のアクセス許可は、ディレクトリの場合は 0777、ファイルの場合は 0666 です。 既定の umask は 0027 です。 umask は 4 桁の 8 進数表記 (例: 0766) で指定する必要があります。

owner
str

ファイルまたはディレクトリの所有者。

group
str

ファイルまたはディレクトリの所有グループ。

acl
str

ファイルとディレクトリに対する POSIX アクセス制御権限を設定します。 値は、アクセス制御エントリのコンマ区切りのリストです。 各アクセス制御エントリ (ACE) は、スコープ、型、ユーザーまたはグループ識別子、および "[scope:][type]:[id]:[permissions]" という形式のアクセス許可で構成されます。

lease_id
str

GUID 文字列形式の推奨リース ID。 提案されたリース ID が正しい形式でない場合、DataLake サービスは 400 (無効な要求) を返します。

lease_duration
int

リース期間 (秒単位) を指定します。無期限のリースには -1 を指定します。 無限リースでない場合は、15 ~ 60 秒を指定できます。 更新または変更を使用してリース期間を変更することはできません。

expires_on
datetime または int

ファイルの有効期限を設定する時間。 expires_onの種類が int の場合、有効期限は作成時間から経過したミリ秒数として設定されます。 expires_onの種類が datetime の場合、有効期限は絶対に指定された時刻に設定されます。 タイム ゾーン情報が指定されていない場合、これは UTC として解釈されます。

permissions
str

アカウントに対して階層型名前空間が有効になっている場合にのみ、省略可能で有効です。 ファイル所有者、ファイル所有グループなどの POSIX アクセス許可を設定します。 各クラスには、読み取り、書き込み、または実行のアクセス許可を付与できます。 スティッキー ビットもサポートされています。 シンボリック (rwxrw-rw-) と 4 桁の 8 進数表記 (0766 など) の両方がサポートされています。

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 を参照してください。 この値は、クライアントで追跡または検証されません。 クライアント側のネットワーク タイムアウトを構成するには、 こちらを参照してください。

戻り値

DataLakeFileClient

ファイル システムでファイルを作成します。


   file_client = file_system_client.create_file("myfile")

create_file_system

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

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

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

パラメーター

metadata
dict(str, str)
必須

メタデータとしてファイル システムに関連付ける名前と値のペアを持つ dict。 例: {'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 サービスでのファイル システムの作成。


   file_system_client.create_file_system()

delete_directory

指定したパスを削除対象としてマークします。

delete_directory(directory: DirectoryProperties | str, **kwargs) -> DataLakeDirectoryClient

パラメーター

directory
str または DirectoryProperties
必須

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

lease
DataLakeLeaseClient または str

ファイルにアクティブなリースがある場合は必須です。 値には、LeaseClient オブジェクト、または文字列としてのリース 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 を参照してください。 この値は、クライアントで追跡または検証されません。 クライアント側のネットワーク タイムアウトを構成するには、 こちらを参照してください。

戻り値

DataLakeDirectoryClient

ファイル システム内のディレクトリを削除します。


   file_system_client.delete_directory("mydirectory")

delete_file

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

delete_file(file: FileProperties | str, **kwargs) -> DataLakeFileClient

パラメーター

file
str または FileProperties
必須

対話するファイル。 ファイルの名前、または FileProperties のインスタンスを指定できます。

lease
DataLakeLeaseClient または str

ファイルにアクティブなリースがある場合は必須。 値には、LeaseClient オブジェクトまたは文字列としてのリース 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 を参照してください。 この値は、クライアントで追跡または検証されません。 クライアント側のネットワーク タイムアウトを構成するには、 こちらを参照してください

戻り値

DataLakeFileClient

ファイル システム内のファイルを削除します。


   file_system_client.delete_file("myfile")

delete_file_system

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

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

delete_file_system(**kwargs: Any) -> None

パラメーター

lease
str または DataLakeLeaseClient

指定した場合、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 サービスでファイル システムを削除する。


   file_system_client.delete_file_system()

exists

ファイル システムが存在する場合は True を返し、それ以外の場合は False を返します。

exists(**kwargs: Any) -> bool

パラメーター

timeout
int

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

戻り値

ファイル システムが存在する場合は True、それ以外の場合は False。

の戻り値の型 :

from_connection_string

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

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

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

パラメーター

conn_str
str
必須

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

file_system_name
str
必須

対話するファイル システムの名前。

credential
既定値: None

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

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


   from azure.storage.filedatalake import FileSystemClient
   file_system_client = FileSystemClient.from_connection_string(self.connection_string, "filesystem")

get_directory_client

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

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

get_directory_client(directory: DirectoryProperties | str) -> DataLakeDirectoryClient

パラメーター

directory
str または DirectoryProperties
必須

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

戻り値

DataLakeDirectoryClient。

の戻り値の型 :

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


   # Get the DataLakeDirectoryClient from the FileSystemClient to interact with a specific file
   directory_client = file_system_client.get_directory_client("mynewdirectory")

get_file_client

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

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

get_file_client(file_path: FileProperties | str) -> DataLakeFileClient

パラメーター

file_path
str または FileProperties
必須

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

戻り値

DataLakeFileClient。

の戻り値の型 :

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


   # Get the FileClient from the FileSystemClient to interact with a specific file
   file_client = file_system_client.get_file_client("mynewfile")

get_file_system_access_policy

指定したファイル システムのアクセス許可を取得します。 アクセス許可は、ファイル システム データにパブリックにアクセスできるかどうかを示します。

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

パラメーター

lease
DataLakeLeaseClient または str

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

timeout
int

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

戻り値

dict 内のアクセス ポリシー情報。

の戻り値の型 :

get_file_system_properties

指定したファイル システムのすべてのユーザー定義メタデータとシステム プロパティを返します。 返されるデータには、ファイル システムのパスの一覧は含まれません。

get_file_system_properties(**kwargs: Any) -> FileSystemProperties

パラメーター

lease
str または DataLakeLeaseClient

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

timeout
int

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

戻り値

ファイル システム オブジェクト内の指定されたファイル システムのプロパティ。

の戻り値の型 :

ファイル システムのプロパティの取得。


   properties = file_system_client.get_file_system_properties()

get_paths

指定したファイル システムのパス (ファイルまたはディレクトリである可能性があります) を一覧表示するジェネレーターを返します。 ジェネレーターは、サービスによって返される継続トークンに遅れて従います。

get_paths(path: str | None = None, recursive: bool | None = True, max_results: int | None = None, **kwargs) -> ItemPaged[PathProperties]

パラメーター

path
str
必須

指定したパスの下にあるパスのみを返すように結果をフィルター処理します。

recursive
Optional[bool]
必須

省略可能。 再帰の場合は True、反復の場合は False に設定します。

max_results
int
必須

ページごとに返されるアイテムの最大数を指定する省略可能な値。 省略するか、5,000 を超える場合、応答には 1 ページあたり最大 5,000 アイテムが含まれます。

upn

省略可能。 アカウントに対して階層型名前空間が有効になっている場合にのみ有効です。 "true" の場合、x-ms-owner、x-ms-group、および x-ms-acl 応答ヘッダーで返されるユーザー ID 値は、Azure Active Directory オブジェクト ID からユーザー プリンシパル名に変換されます。 "false" の場合、値は Azure Active Directory オブジェクト ID として返されます。 既定値は false です。 グループ ID とアプリケーション オブジェクト ID は一意のフレンドリ名を持たないため、変換されないことに注意してください。

timeout
int

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

戻り値

PathProperties の iterable (自動ページング) 応答。

の戻り値の型 :

ファイル システム内のパスを一覧表示します。


   path_list = file_system_client.get_paths()
   for path in path_list:
       print(path.name + '\n')

list_deleted_paths

指定したファイル システムで削除された (ファイルまたはディレクトリ) パスを一覧表示するジェネレーターを返します。 ジェネレーターは、サービスによって返される継続トークンに遅れて従います。

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

list_deleted_paths(**kwargs: Any) -> ItemPaged[DeletedPathProperties]

パラメーター

path_prefix
str

指定したパスの下にあるパスのみを返すように結果をフィルター処理します。

results_per_page
int

ページごとに返されるアイテムの最大数を指定する省略可能な値。 省略するか、5,000 を超える場合、応答には 1 ページあたり最大 5,000 アイテムが含まれます。

timeout
int

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

戻り値

DeletedPathProperties の iterable (自動ページング) 応答。

の戻り値の型 :

set_file_system_access_policy

Shared Access Signature で使用できる、指定したファイル システムまたは格納されているアクセス ポリシーのアクセス許可を設定します。 アクセス許可は、ファイル システム内のファイルにパブリックにアクセスできるかどうかを示します。

set_file_system_access_policy(signed_identifiers: Dict[str, AccessPolicy], public_access: str | PublicAccess | None = None, **kwargs) -> Dict[str, str | datetime]

パラメーター

signed_identifiers
dict[str, AccessPolicy]
必須

ファイル システムに関連付けるアクセス ポリシーのディクショナリ。 ディクショナリには、最大 5 つの要素を含めることができます。 空のディクショナリを使用すると、サービスに設定されているアクセス ポリシーがクリアされます。

public_access
PublicAccess
必須

ファイル システム内のデータにパブリックにアクセスできるかどうかを指定し、アクセス レベルを指定します。

lease
DataLakeLeaseClient または str

ファイル システムにアクティブなリースがある場合は必須です。 値には、DataLakeLeaseClient オブジェクトまたはリース ID を文字列として指定できます。

if_modified_since
datetime

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

if_unmodified_since
datetime

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

timeout
int

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

戻り値

ファイル システムによって更新されたプロパティ dict (Etag と最終変更)。

の戻り値の型 :

set_file_system_metadata

指定したファイル システムの 1 つ以上のユーザー定義の名前と値のペアを設定します。 この操作を呼び出すたびに、ファイル システムにアタッチされているすべての既存のメタデータが置き換えられます。 ファイル システムからすべてのメタデータを削除するには、メタデータ ディクテーションなしでこの操作を呼び出します。

set_file_system_metadata(metadata: Dict[str, str], **kwargs) -> Dict[str, str | datetime]

パラメーター

metadata
dict[str, str]
必須

メタデータとしてファイル システムに関連付ける名前と値のペアを含む dict。 例: {'category':'test'}

lease
str または DataLakeLeaseClient

指定した場合、set_file_system_metadataは、ファイル システムのリースがアクティブで、この 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 を参照してください。 この値は、クライアントで追跡または検証されません。 クライアント側のネットワーク タイムアウトを構成するには、 こちらを参照してください

戻り値

filesystem-updated プロパティ dict (Etag と最終変更)。

の戻り値の型 :

ファイル システムでのメタデータの設定。


   # Create key, value pairs for metadata
   metadata = {'type': 'test'}

   # Set metadata on the file system
   file_system_client.set_file_system_metadata(metadata=metadata)

属性

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