次の方法で共有


DataLakeDirectoryClient クラス

ディレクトリがまだ存在しない可能性がある場合でも、DataLake ディレクトリと対話するクライアント。

ディレクトリの下の特定のサブディレクトリまたはファイルに関連する操作の場合は、 または get_file_client 関数を使用してディレクトリ クライアントまたはファイル クライアントをget_sub_directory_client取得できます。

継承
azure.storage.filedatalake._path_client.PathClient
DataLakeDirectoryClient

コンストラクター

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

パラメーター

account_url
str
必須

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

file_system_name
str
必須

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

directory_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

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

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


   from azure.storage.filedatalake import DataLakeDirectoryClient
   DataLakeDirectoryClient.from_connection_string(connection_string, "myfilesystem", "mydirectory")

変数

url
str

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

primary_endpoint
str

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

primary_hostname
str

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

メソッド

acquire_lease

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

close

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

create_directory

新しいディレクトリを作成します。

create_file

新しいファイルを作成し、対話するファイル クライアントを返します。

create_sub_directory

サブディレクトリを作成し、対話するサブディレクトリ クライアントを返します。

delete_directory

指定したディレクトリに削除のマークを付けます。

delete_sub_directory

指定したサブディレクトリを削除対象としてマークします。

exists

ディレクトリが存在する場合は True を返し、それ以外の場合は False を返します。

from_connection_string

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

get_access_control
get_directory_properties

ディレクトリのすべてのユーザー定義メタデータ、標準 HTTP プロパティ、およびシステム プロパティを返します。 ディレクトリの内容は返されません。

get_file_client

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

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

get_sub_directory_client

現在のディレクトリの指定されたサブディレクトリと対話するクライアントを取得します。

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

remove_access_control_recursive

パスとサブパスのAccess Controlを削除します。

rename_directory

ソース ディレクトリの名前を変更します。

set_access_control

パスの所有者、グループ、アクセス許可、またはアクセス制御リストを設定します。

set_access_control_recursive

パスとサブパスのAccess Controlを設定します。

set_http_headers

ファイルまたはディレクトリのシステム プロパティを設定します。

content_settingsに 1 つのプロパティが設定されている場合、すべてのプロパティがオーバーライドされます。

set_metadata

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

update_access_control_recursive

パスとサブパスのAccess Controlを変更します。

acquire_lease

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

acquire_lease(lease_duration: int | None = -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 オブジェクト。

の戻り値の型 :

close

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

close() -> None

create_directory

新しいディレクトリを作成します。

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

パラメーター

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 で使用する一致条件。

cpk
CustomerProvidedEncryptionKey

指定したキーを使用してサービス側のデータを暗号化します。 顧客が指定したキーの使用は HTTPS 経由で行う必要があります。

timeout
int

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

戻り値

応答ヘッダーのディクショナリ。

の戻り値の型 :

ディレクトリを作成します。


   directory_client.create_directory()

create_file

新しいファイルを作成し、対話するファイル クライアントを返します。

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

パラメーター

file
str または FileProperties
必須

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

content_settings
ContentSettings

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

metadata

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

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 で使用する一致条件。

cpk
CustomerProvidedEncryptionKey

指定したキーを使用してサービス側のデータを暗号化します。 顧客が指定したキーの使用は HTTPS 経由で行う必要があります。

timeout
int

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

戻り値

DataLakeFileClient

create_sub_directory

サブディレクトリを作成し、対話するサブディレクトリ クライアントを返します。

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

パラメーター

sub_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 で使用する一致条件。

cpk
CustomerProvidedEncryptionKey

指定されたキーを使用して、サービス側のデータを暗号化します。 お客様から提供されたキーの使用は、HTTPS 経由で行う必要があります。

timeout
int

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

戻り値

サブディレクトリの DataLakeDirectoryClient。

delete_directory

指定したディレクトリに削除のマークを付けます。

delete_directory(**kwargs) -> None

パラメーター

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

戻り値

なし

ディレクトリを削除します。


   new_directory.delete_directory()

delete_sub_directory

指定したサブディレクトリを削除対象としてマークします。

delete_sub_directory(sub_directory: DirectoryProperties | str, **kwargs) -> DataLakeDirectoryClient

パラメーター

sub_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

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

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

from_connection_string(conn_str: str, file_system_name: str, directory_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 クラスのインスタンスを指定できます。 リソース URI に SAS トークンが既に含まれている場合、明示的な資格情報を優先して無視されます

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

対話するディレクトリの名前。 ディレクトリはファイル システムの下にあります。

credential
必須

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

戻り値

DataLakeDirectoryClient

の戻り値の型 :

get_access_control

get_access_control(upn: bool | None = None, **kwargs) -> Dict[str, Any]

パラメーター

upn
bool
必須

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

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

response dict

response dict。

get_directory_properties

ディレクトリのすべてのユーザー定義メタデータ、標準 HTTP プロパティ、およびシステム プロパティを返します。 ディレクトリの内容は返されません。

get_directory_properties(**kwargs: Any) -> DirectoryProperties

パラメーター

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 と見なされます。 このヘッダーを指定すると、指定した日付/時刻以降にリソースが変更されていない場合に限り操作が実行されます。

etag
str

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

match_condition
MatchConditions

etag で使用する一致条件。

cpk
CustomerProvidedEncryptionKey

指定したキーを使用して、サービス側のデータを復号化します。 顧客が指定したキーの使用は HTTPS 経由で行う必要があります。 ディレクトリが顧客指定のキーで作成された場合は必須です。

timeout
int

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

の戻り値の型 :

ファイル/ディレクトリのプロパティを取得します。


   props = new_directory.get_directory_properties()

get_file_client

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

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

get_file_client(file: FileProperties | str) -> DataLakeFileClient

パラメーター

file
str または FileProperties
必須

対話するファイル。 ファイルの名前、または FileProperties のインスタンスを指定できます。例えば。directory/サブディレクトリ/ファイル

戻り値

DataLakeFileClient。

の戻り値の型 :

get_sub_directory_client

現在のディレクトリの指定されたサブディレクトリと対話するクライアントを取得します。

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

get_sub_directory_client(sub_directory: DirectoryProperties | str) -> DataLakeDirectoryClient

パラメーター

sub_directory
str または DirectoryProperties
必須

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

戻り値

DataLakeDirectoryClient。

の戻り値の型 :

remove_access_control_recursive

パスとサブパスのAccess Controlを削除します。

remove_access_control_recursive(acl: str, **kwargs: Any) -> AccessControlChangeResult

パラメーター

acl
str
必須

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

progress_hook
<xref:func>(AccessControlChanges)

呼び出し元が操作の進行状況を追跡できるコールバックと、Access Controlの変更に失敗したパスを収集できます。

continuation_token
str

以前に停止した操作を再開するために使用できる省略可能な継続トークン。

batch_size
int

省略可能。 データ セットのサイズがバッチ サイズを超える場合、処理は複数の要求に分割され、進行状況を追跡できます。 バッチ サイズは 1 から 2000 の間にする必要があります。 指定されていない場合の既定値は 2000 です。

max_batches
int

省略可能。 1 回の変更Access Control操作で実行できるバッチの最大数を定義します。 すべてのサブパスが処理される前に maximum に達した場合は、継続トークンを使用して操作を再開できます。 空の値は、非連結および操作のバッチの最大数が終了するまで継続されることを示します。

continue_on_failure
bool

False に設定すると、ユーザー エラー (4XX) が発生すると、操作はすぐに終了します。 True の場合、操作はユーザー エラーを無視し、ディレクトリの他のサブエンティティに対する操作を続行します。 継続トークンは、ユーザー エラーが発生した場合にcontinue_on_failureが True の場合にのみ返されます。 未設定の場合、既定値は False です。

timeout
int

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

戻り値

操作が途中で終了した場合の継続トークンと同様に、成功と失敗の数を含む再帰的な操作の概要。

の戻り値の型 :

例外

トークンが使用可能な場合、ユーザーは AzureError の continuation_token フィールドを使用して操作を再開できます。

rename_directory

ソース ディレクトリの名前を変更します。

rename_directory(new_name: str, **kwargs: Any) -> DataLakeDirectoryClient

パラメーター

new_name
str
必須

ユーザーが名前を変更する新しいディレクトリ名。 値の形式は"{filesystem}/{directory}/{サブディレクトリ}" である必要があります。

source_lease
DataLakeLeaseClient または str

ソース パスのリース ID。 指定した場合、ソース パスにはアクティブなリースがあり、リース ID が一致している必要があります。

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 で使用する一致条件。

source_if_modified_since
datetime

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

source_if_unmodified_since
datetime

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

source_etag
str

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

source_match_condition
MatchConditions

etag で使用するソース一致条件。

timeout
int

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

戻り値

DataLakeDirectoryClient

ソース ディレクトリの名前を変更します。


   new_dir_name = "testdir2"
   print("Renaming the directory named '{}' to '{}'.".format(dir_name, new_dir_name))
   new_directory = directory_client\
       .rename_directory(new_name=directory_client.file_system_name + '/' + new_dir_name)

set_access_control

パスの所有者、グループ、アクセス許可、またはアクセス制御リストを設定します。

set_access_control(owner: str | None = None, group: str | None = None, permissions: str | None = None, acl: str | None = None, **kwargs) -> Dict[str, str | datetime]

パラメーター

owner
str
必須

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

group
str
必須

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

permissions
str
必須

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

acl
str
必須

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

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

response dict

response dict (Etag と last modified)。

set_access_control_recursive

パスとサブパスのAccess Controlを設定します。

set_access_control_recursive(acl: str, **kwargs: Any) -> AccessControlChangeResult

パラメーター

acl
str
必須

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

progress_hook
<xref:func>(AccessControlChanges)

呼び出し元が操作の進行状況を追跡し、Access Control変更に失敗したパスを収集できるコールバック。

continuation_token
str

以前に停止した操作を再開するために使用できる、省略可能な継続トークン。

batch_size
int

省略可能。 データ・セット・サイズがバッチ・サイズを超えると、操作は複数の要求に分割され、進行状況を追跡できるようになります。 バッチ サイズは 1 から 2000 の間にする必要があります。 指定しない場合の既定値は 2000 です。

max_batches
int

省略可能。 1 回の変更Access Control操作で実行できるバッチの最大数を定義します。 すべてのサブパスが処理される前に最大値に達した場合は、継続トークンを使用して操作を再開できます。 空の値は、非連結のバッチの最大数を示し、操作は最後まで続行されます。

continue_on_failure
bool

False に設定すると、ユーザー エラー (4XX) が発生すると、操作はすぐに終了します。 True の場合、操作はユーザー エラーを無視し、ディレクトリの他のサブエンティティに対する操作を続行します。 継続トークンは、ユーザー エラーが発生した場合にcontinue_on_failureが True の場合にのみ返されます。 設定しない場合、既定値は False になります。

timeout
int

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

戻り値

操作が途中で終了した場合の継続トークンと同様に、成功と失敗の数を含む再帰操作の概要。

の戻り値の型 :

例外

トークンが使用可能な場合、ユーザーは AzureError の continuation_token フィールドを使用して操作を再開できます。

set_http_headers

ファイルまたはディレクトリのシステム プロパティを設定します。

content_settingsに 1 つのプロパティが設定されている場合、すべてのプロパティがオーバーライドされます。

set_http_headers(content_settings: ContentSettings | None = None, **kwargs) -> Dict[str, Any]

パラメーター

content_settings
ContentSettings
必須

ファイル/ディレクトリのプロパティを設定するために使用される ContentSettings オブジェクト。

lease
DataLakeLeaseClient または str

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

戻り値

file/directory-updated プロパティ dict (Etag と最終更新日)

の戻り値の型 :

set_metadata

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

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

パラメーター

metadata
Dict[str, str]
必須

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

lease
DataLakeLeaseClient または str

指定した場合、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 で使用する一致条件。

cpk
CustomerProvidedEncryptionKey

指定されたキーを使用して、サービス側のデータを暗号化します。 お客様から提供されたキーの使用は、HTTPS 経由で行う必要があります。

timeout
int

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

戻り値

ファイル システムで更新されたプロパティ dict (Etag と最終更新日)。

update_access_control_recursive

パスとサブパスのAccess Controlを変更します。

update_access_control_recursive(acl: str, **kwargs: Any) -> AccessControlChangeResult

パラメーター

acl
str
必須

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

progress_hook
<xref:func>(AccessControlChanges)

呼び出し元が操作の進行状況を追跡し、Access Control変更に失敗したパスを収集できるコールバック。

continuation_token
str

以前に停止した操作を再開するために使用できる、省略可能な継続トークン。

batch_size
int

省略可能。 データ・セット・サイズがバッチ・サイズを超えると、操作は複数の要求に分割され、進行状況を追跡できるようになります。 バッチ サイズは 1 から 2000 の間にする必要があります。 指定しない場合の既定値は 2000 です。

max_batches
int

省略可能。 1 回の変更Access Control操作で実行できるバッチの最大数を定義します。 すべてのサブパスが処理される前に最大値に達した場合は、継続トークンを使用して操作を再開できます。 空の値は、非連結のバッチの最大数を示し、操作は最後まで続行されます。

continue_on_failure
bool

False に設定すると、ユーザー エラー (4XX) が発生すると、操作はすぐに終了します。 True の場合、操作はユーザー エラーを無視し、ディレクトリの他のサブエンティティに対する操作を続行します。 継続トークンは、ユーザー エラーが発生した場合にcontinue_on_failureが True の場合にのみ返されます。 設定しない場合、既定値は False になります。

timeout
int

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

戻り値

操作が途中で終了した場合の継続トークンと同様に、成功と失敗の数を含む再帰操作の概要。

の戻り値の型 :

例外

トークンが使用可能な場合、ユーザーは AzureError の continuation_token フィールドを使用して操作を再開できます。

属性

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