共用方式為


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
必要

目錄的完整路徑。 例如 {檔案系統底下的 {directory}/{directory 與} 互動

credential
預設值: None

要用來驗證的認證。 如果帳戶 URL 已經有 SAS 權杖,則這是選擇性的。 此值可以是 SAS 權杖字串、來自 azure.core.credentials 的 AzureSasCredential 或 AzureNamedKeyCredential 實例、帳戶共用存取金鑰,或來自 azure.identity 的 TokenCredentials 類別實例。 如果資源 URI 已經包含 SAS 權杖,則會忽略此權杖,以使用明確的認證

  • 除了 AzureSasCredential 的情況之外,衝突的 SAS 權杖將會引發 ValueError。 如果使用 AzureNamedKeyCredential 的實例,「name」 應該是儲存體帳戶名稱,而 「key」 應該是儲存體帳戶金鑰。
api_version
str

要用於要求的儲存體 API 版本。 預設值是與目前 SDK 相容的最新服務版本。 將 設定為較舊版本可能會導致功能相容性降低。

範例

從連接字串建立 DataLakeServiceClient。


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

變數

url
str

檔案系統的完整端點 URL,包括使用時使用的 SAS 權杖。

primary_endpoint
str

完整的主要端點 URL。

primary_hostname
str

主要端點的主機名稱。

方法

acquire_lease

要求新的租用。 如果檔案或目錄沒有作用中的租用,DataLake 服務會在檔案/目錄上建立租用,並傳回新的租用識別碼。

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

移除路徑和子路徑上的存取控制。

rename_directory

重新命名來原始目錄。

set_access_control

設定路徑的擁有者、群組、許可權或存取控制清單。

set_access_control_recursive

設定路徑和子路徑上的存取控制。

set_http_headers

設定檔案或目錄上的系統屬性。

如果已為content_settings設定一個屬性,則會覆寫所有屬性。

set_metadata

設定指定檔案系統的一或多個使用者定義名稱/值組。 每次呼叫此作業都會取代附加至檔案系統的所有現有中繼資料。 若要從檔案系統中移除所有中繼資料,請呼叫此作業,而不使用中繼資料聽寫。

update_access_control_recursive

修改路徑和子路徑上的存取控制。

acquire_lease

要求新的租用。 如果檔案或目錄沒有作用中的租用,DataLake 服務會在檔案/目錄上建立租用,並傳回新的租用識別碼。

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 字串格式。 如果建議的租用識別碼格式不正確,DataLake 服務會傳回 400 (不正確要求) 。

if_modified_since
datetime

日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源在指定的時間後修改,才能指定此標準執行作業。

if_unmodified_since
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
DataLakeLeaseClientstr

如果檔案有作用中的租用,則為必要專案。 值可以是 DataLakeLeaseClient 物件或租用識別碼做為字串。

umask
str

選擇性且只有在帳戶啟用階層命名空間時才有效。 建立檔案或目錄且父資料夾沒有預設 ACL 時,umask 會限制要建立的檔案或目錄許可權。 產生的許可權是由 p ^u 提供,其中 p & 是許可權,而您是 umask。 例如,如果 p 是 0777,而您是 0057,則產生的許可權為 0720。 目錄的預設許可權為 0777,而檔案的預設許可權為 0666。 預設 umask 為 0027。 umask 必須在 4 位數的八進位標記法中指定 (,例如 0766) 。

owner
str

檔案或目錄的擁有者。

group
str

檔案或目錄的擁有群組。

acl
str

設定檔案和目錄的 POSIX 存取控制許可權。 此值是以逗號分隔的存取控制專案清單。 每個存取控制專案 (ACE) 都包含範圍、類型、使用者或群組識別碼,以及格式為 「[scope:][type]:[id]:[permissions]」 的許可權。

lease_id
str

建議的租用識別碼,使用 GUID 字串格式。 如果建議的租用識別碼格式不正確,DataLake 服務會傳回 400 (不正確要求) 。

lease_duration
int

指定租用的持續時間 (秒數),或指定負一 (-1),代表租用永不到期。 非無限期的租用可以介於 15 到 60 秒之間。 無法使用續約或變更來變更租用持續時間。

permissions
str

選擇性且只有在帳戶啟用階層命名空間時才有效。 設定檔案擁有者、檔案擁有者群組及其他的 POSIX 存取權限。 每個類別都可以被授與讀取、寫入或執行許可權。 也支援黏性位。 支援符號 (rwxrw-rw-) 和 4 位數八進位標記法 (例如 0766) 。

if_modified_since
datetime

日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源在指定的時間後修改,才能指定此標準執行作業。

if_unmodified_since
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
strFileProperties
必要

要與其互動的檔案。 這可以是檔案的名稱或 FileProperties 的實例。

content_settings
ContentSettings

用來設定路徑屬性的 ContentSettings 物件。

metadata

與檔案相關聯的名稱/值組,可做為中繼資料。

lease
DataLakeLeaseClientstr

如果檔案有作用中的租用,則為必要專案。 值可以是 DataLakeLeaseClient 物件或租用識別碼做為字串。

umask
str

選擇性且只有在帳戶啟用階層命名空間時才有效。 建立檔案或目錄且父資料夾沒有預設 ACL 時,umask 會限制要建立的檔案或目錄許可權。 產生的許可權是由 p ^u 提供,其中 p & 是許可權,而您是 umask。 例如,如果 p 是 0777,而您是 0057,則產生的許可權為 0720。 目錄的預設許可權為 0777,而檔案的預設許可權為 0666。 預設 umask 為 0027。 umask 必須在 4 位數的八進位標記法中指定 (,例如 0766) 。

owner
str

檔案或目錄的擁有者。

group
str

檔案或目錄的擁有群組。

acl
str

設定檔案和目錄的 POSIX 存取控制許可權。 此值是以逗號分隔的存取控制專案清單。 每個存取控制專案 (ACE) 都包含範圍、類型、使用者或群組識別碼,以及格式為 「[scope:][type]:[id]:[permissions]」 的許可權。

lease_id
str

建議的租用識別碼,使用 GUID 字串格式。 如果建議的租用識別碼格式不正確,DataLake 服務會傳回 400 (不正確要求) 。

lease_duration
int

指定租用的持續時間 (秒數),或指定負一 (-1),代表租用永不到期。 非無限期的租用可以介於 15 到 60 秒之間。 無法使用續約或變更來變更租用持續時間。

expires_on
datetimeint

將檔案設定為到期的時間。 如果expires_on的類型是 int,則到期時間會設定為從建立時間經過的毫秒數。 如果expires_on的類型是 datetime,則到期時間會設定為提供的絕對時間。 如果未提供時區資訊,則會將此解譯為 UTC。

permissions
str

選擇性且只有在帳戶啟用階層命名空間時才有效。 設定檔案擁有者、檔案擁有者群組及其他的 POSIX 存取權限。 每個類別都可以被授與讀取、寫入或執行許可權。 也支援黏性位。 支援符號 (rwxrw-rw-) 和 4 位數八進位標記法 (例如 0766) 。

if_modified_since
datetime

日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源在指定的時間後修改,才能指定此標準執行作業。

if_unmodified_since
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
strDirectoryProperties
必要

要與其互動的目錄。 這可以是目錄的名稱或 DirectoryProperties 的實例。

metadata
dict(str, str)
必要

與檔案相關聯的名稱/值組,可做為中繼資料。

content_settings
ContentSettings

用來設定路徑屬性的 ContentSettings 物件。

lease
DataLakeLeaseClientstr

如果檔案有作用中的租用,則為必要專案。 值可以是 DataLakeLeaseClient 物件或租用識別碼做為字串。

umask
str

選擇性且只有在帳戶啟用階層命名空間時才有效。 建立檔案或目錄且父資料夾沒有預設 ACL 時,umask 會限制要建立的檔案或目錄許可權。 產生的許可權是由 p ^u 提供,其中 p & 是許可權,而您是 umask。 例如,如果 p 是 0777,而您是 0057,則產生的許可權為 0720。 目錄的預設許可權為 0777,而檔案的預設許可權為 0666。 預設 umask 為 0027。 umask 必須在 4 位數的八進位標記法中指定 (,例如 0766) 。

owner
str

檔案或目錄的擁有者。

group
str

檔案或目錄的擁有群組。

acl
str

設定檔案和目錄的 POSIX 存取控制許可權。 此值是以逗號分隔的存取控制專案清單。 每個存取控制專案 (ACE) 都包含範圍、類型、使用者或群組識別碼,以及格式為 「[scope:][type]:[id]:[permissions]」 的許可權。

lease_id
str

建議的租用識別碼,使用 GUID 字串格式。 如果建議的租用識別碼格式不正確,DataLake 服務會傳回 400 (不正確要求) 。

lease_duration
int

指定租用的持續時間 (秒數),或指定負一 (-1),代表租用永不到期。 非無限期的租用可以介於 15 到 60 秒之間。 無法使用續約或變更來變更租用持續時間。

permissions
str

選擇性且只有在帳戶啟用階層命名空間時才有效。 設定檔案擁有者、檔案擁有者群組及其他的 POSIX 存取權限。 每個類別都可以被授與讀取、寫入或執行許可權。 也支援黏性位。 支援符號 (rwxrw-rw-) 和 4 位數八進位標記法 (例如 0766) 。

if_modified_since
datetime

日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源在指定的時間後修改,才能指定此標準執行作業。

if_unmodified_since
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
DataLakeLeaseClientstr

如果檔案具有作用中的租用,則為必要專案。 值可以是 LeaseClient 物件或租用識別碼做為字串。

if_modified_since
datetime

日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,則任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源在指定的時間後修改,才能指定此標準執行作業。

if_unmodified_since
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
strDirectoryProperties
必要

要與其互動的目錄。 這可以是目錄的名稱或 DirectoryProperties 的實例。

lease
DataLakeLeaseClientstr

如果檔案具有作用中的租用,則為必要專案。 值可以是 LeaseClient 物件或租用識別碼做為字串。

if_modified_since
datetime

日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,則任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源在指定的時間後修改,才能指定此標準執行作業。

if_unmodified_since
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 儲存體帳戶的連接字串。

file_system_name
str
必要

要與其互動的檔案系統名稱。

credential
預設值: None

要用來驗證的認證。 如果帳戶 URL 已經有 SAS 權杖,則這是選擇性的。 此值可以是 SAS 權杖字串、來自 azure.core.credentials 的 AzureSasCredential 或 AzureNamedKeyCredential 的實例、帳戶共用存取金鑰,或來自 azure.identity 的 TokenCredentials 類別實例。 如果資源 URI 已經包含 SAS 權杖,則會忽略此權杖,以取得明確的認證

  • 除了 AzureSasCredential 的情況之外,衝突的 SAS 權杖將會引發 ValueError。 如果使用 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 回應標頭中傳回的使用者識別值從 Azure Active Directory 物件識別碼轉換成使用者主體名稱。 如果為 「false」,則會以 Azure Active Directory 物件識別碼的形式傳回值。 預設值為 false。 請注意,群組和應用程式物件識別碼不會翻譯,因為它們沒有唯一的易記名稱。

lease
DataLakeLeaseClientstr

如果檔案/目錄具有作用中的租用,則為必要專案。 值可以是 LeaseClient 物件或租用識別碼做為字串。

if_modified_since
datetime

日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,則任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源在指定的時間後修改,才能指定此標準執行作業。

if_unmodified_since
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

回應聽寫。

get_directory_properties

傳回目錄的所有使用者定義中繼資料、標準 HTTP 屬性和系統屬性。 它不會傳回目錄的內容。

get_directory_properties(**kwargs: Any) -> DirectoryProperties

參數

lease
DataLakeLeaseClientstr

如果目錄或檔案具有作用中的租用,則為必要專案。 值可以是 DataLakeLeaseClient 物件或租用識別碼作為字串。

if_modified_since
datetime

日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,則任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源在指定的時間後修改,才能指定此標準執行作業。

if_unmodified_since
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
strFileProperties
必要

要與其互動的檔案。 這可以是檔案名或 FileProperties 的實例。例如directory/subdirectory/file

傳回

DataLakeFileClient。

傳回類型

get_sub_directory_client

取得用戶端以與目前目錄的指定子目錄互動。

子目錄不需要已經存在。

get_sub_directory_client(sub_directory: DirectoryProperties | str) -> DataLakeDirectoryClient

參數

sub_directory
strDirectoryProperties
必要

要與其互動的目錄。 這可以是目錄的名稱或 DirectoryProperties 的實例。

傳回

DataLakeDirectoryClient。

傳回類型

remove_access_control_recursive

移除路徑和子路徑上的存取控制。

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

參數

acl
str
必要

移除檔案和目錄的 POSIX 存取控制許可權。 此值是以逗號分隔的存取控制專案清單。 每個存取控制專案 (ACE) 都包含範圍、類型,以及格式為 「[scope:]][type]:[id]」 的使用者或群組識別碼。

progress_hook
<xref:func>(AccessControlChanges)

呼叫端可以追蹤作業進度的回呼,以及收集無法變更存取控制的路徑。

continuation_token
str

選擇性的接續權杖,可用來繼續先前停止的作業。

batch_size
int

選擇性。 如果資料集大小超過批次大小,作業將會分割成多個要求,以便追蹤進度。 批次大小應介於 1 到 2000 之間。 未指定的預設值為 2000。

max_batches
int

選擇性。 定義單一變更存取控制作業可以執行的批次數目上限。 如果在處理所有子路徑之前達到最大值,則可以使用接續權杖繼續作業。 空值表示未系結中的批次數目上限,且作業會持續到結束為止。

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}/{subdirectory}」。

source_lease
DataLakeLeaseClientstr

來源路徑的租用識別碼。 如果指定,來源路徑必須具有作用中的租用,且租用識別碼必須相符。

lease
DataLakeLeaseClientstr

如果檔案/目錄具有作用中的租用,則為必要專案。 值可以是 LeaseClient 物件或租用識別碼做為字串。

if_modified_since
datetime

日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,則任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源在指定的時間後修改,才能指定此標準執行作業。

if_unmodified_since
datetime

日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,則任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源沒有在指定的日期/時間後修改,才能指定此標頭執行作業。

etag
str

ETag 值,或萬用字元 (*)。 用來檢查資源是否已變更,並根據 match_condition 參數所指定的條件採取行動。

match_condition
MatchConditions

要用於 etag 的比對條件。

source_if_modified_since
datetime

日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,則任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源在指定的時間後修改,才能指定此標準執行作業。

source_if_unmodified_since
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 位數八進位標記法 (例如 0766) 。 許可權和 acl 互斥。

acl
str
必要

設定檔案和目錄的 POSIX 存取控制許可權。 此值是以逗號分隔的存取控制專案清單。 每個存取控制專案 (ACE) 都包含範圍、類型、使用者或群組識別碼,以及格式為 「[scope:][type]:[id]:[permissions]」 的許可權。 許可權和 acl 互斥。

lease
DataLakeLeaseClientstr

如果檔案/目錄有作用中的租用,則為必要專案。 值可以是 LeaseClient 物件或租用識別碼做為字串。

if_modified_since
datetime

日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源在指定的時間後修改,才能指定此標準執行作業。

if_unmodified_since
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

回應聽寫 (Etag 和上次修改) 。

set_access_control_recursive

設定路徑和子路徑上的存取控制。

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

參數

acl
str
必要

設定檔案和目錄的 POSIX 存取控制許可權。 此值是以逗號分隔的存取控制專案清單。 每個存取控制專案 (ACE) 都包含範圍、類型、使用者或群組識別碼,以及格式為 「[scope:][type]:[id]:[permissions]」 的許可權。

progress_hook
<xref:func>(AccessControlChanges)

呼叫端可以追蹤作業進度的回呼,以及收集無法變更存取控制的路徑。

continuation_token
str

選擇性接續權杖,可用來繼續先前停止的作業。

batch_size
int

選擇性。 如果資料集大小超過批次大小,作業將會分割成多個要求,以便追蹤進度。 批次大小應介於 1 到 2000 之間。 未指定的預設值為 2000。

max_batches
int

選擇性。 定義單一變更存取控制作業可以執行的批次數目上限。 如果在處理所有子路徑之前達到最大值,則可以使用接續權杖繼續作業。 空值表示未系結中的批次數目上限,且作業會持續到結尾為止。

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設定一個屬性,則會覆寫所有屬性。

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

參數

content_settings
ContentSettings
必要

用來設定檔案/目錄屬性的 ContentSettings 物件。

lease
DataLakeLeaseClientstr

如果指定,set_file_system_metadata只有在檔案系統的租用作用中且符合此識別碼時才會成功。

if_modified_since
datetime

日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源在指定的時間後修改,才能指定此標準執行作業。

if_unmodified_since
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 屬性聽寫 (Etag 和上次修改)

傳回類型

set_metadata

設定指定檔案系統的一或多個使用者定義名稱/值組。 每次呼叫此作業都會取代附加至檔案系統的所有現有中繼資料。 若要從檔案系統中移除所有中繼資料,請呼叫此作業,而不使用中繼資料聽寫。

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

參數

metadata
Dict[str, str]
必要

包含名稱/值組的聽寫,與檔案系統產生關聯做為中繼資料。 範例:{'category':'test'}

lease
DataLakeLeaseClientstr

如果指定,set_file_system_metadata只有在檔案系統的租用作用中且符合此識別碼時才會成功。

if_modified_since
datetime

日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源在指定的時間後修改,才能指定此標準執行作業。

if_unmodified_since
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 。 此值不會在用戶端上追蹤或驗證。 若要設定用戶端網路逾時,請參閱 這裡

傳回

檔案系統更新的屬性聽寫 (Etag 和上次修改) 。

update_access_control_recursive

修改路徑和子路徑上的存取控制。

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

參數

acl
str
必要

修改檔案和目錄的 POSIX 存取控制許可權。 此值是以逗號分隔的存取控制專案清單。 每個存取控制專案 (ACE) 都包含範圍、類型、使用者或群組識別碼,以及格式為 「[scope:][type]:[id]:[permissions]」 的許可權。

progress_hook
<xref:func>(AccessControlChanges)

呼叫端可以追蹤作業進度的回呼,以及收集無法變更存取控制的路徑。

continuation_token
str

選擇性接續權杖,可用來繼續先前停止的作業。

batch_size
int

選擇性。 如果資料集大小超過批次大小,作業將會分割成多個要求,以便追蹤進度。 批次大小應介於 1 到 2000 之間。 未指定的預設值為 2000。

max_batches
int

選擇性。 定義單一變更存取控制作業可以執行的批次數目上限。 如果在處理所有子路徑之前達到最大值,則可以使用接續權杖繼續作業。 空值表示未系結中的批次數目上限,且作業會持續到結尾為止。

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

用於要求的儲存體 API 版本。

location_mode

用戶端目前使用的位置模式。

根據預設,這會是「主要」。 選項包括 「主要」和「次要」。

primary_endpoint

完整的主要端點 URL。

primary_hostname

主要端點的主機名稱。

secondary_endpoint

如果已設定,則為完整的次要端點 URL。

如果無法使用,將會引發 ValueError。 若要明確指定次要主機名稱,請在具現化上使用選擇性 secondary_hostname 關鍵字引數。

例外狀況

secondary_hostname

次要端點的主機名稱。

如果無法使用,則為 None。 若要明確指定次要主機名稱,請在具現化上使用選擇性 secondary_hostname 關鍵字引數。

url

此實體的完整端點 URL,包括如果使用的 SAS 權杖。

這可能是主要端點或次要端點,視目前的 location_mode 而定。 :returns:此實體的完整端點 URL,包括如果使用的 SAS 權杖。 :rtype: str