共用方式為


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 權杖,則會忽略此權杖,以取得明確的認證

  • 除了 AzureSasCredential 的情況之外,衝突的 SAS 權杖將會引發 ValueError。 如果使用 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

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

primary_endpoint
str

完整的主要端點 URL。

primary_hostname
str

主要端點的主機名稱。

方法

acquire_lease

要求新的租用。 如果檔案系統沒有使用中的租用,DataLake 服務會在檔案系統上建立租用,並傳回新的租用識別碼。

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

設定可搭配共用存取簽章使用的指定檔案系統或預存存取原則的許可權。 許可權會指出是否可以公開存取檔案系統中的檔案。

set_file_system_metadata

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

acquire_lease

要求新的租用。 如果檔案系統沒有使用中的租用,DataLake 服務會在檔案系統上建立租用,並傳回新的租用識別碼。

acquire_lease(lease_duration: int = -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 物件,可在內容管理員中執行。

傳回類型

範例

取得檔案系統上的租用。


   # 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
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 的比對條件。

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

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

content_settings
ContentSettings
必要

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

metadata
dict(str, str)
必要

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

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 的比對條件。

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

具有名稱/值組的聽寫,用來與檔案系統建立關聯為中繼資料。 範例: {'Category':'test'}

public_access
PublicAccess
必要

若要指定是否可公開存取檔案系統中的資料,以及存取層級。

encryption_scope_options
dictEncryptionScopeOptions

指定要在檔案系統上設定的預設加密範圍,並用於所有未來的寫入。

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

範例

刪除檔案系統中的目錄。


   file_system_client.delete_directory("mydirectory")

delete_file

標記要刪除的指定檔案。

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

參數

file
strFileProperties
必要

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

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

傳回

DataLakeFileClient

範例

刪除檔案系統中的檔案。


   file_system_client.delete_file("myfile")

delete_file_system

標記要刪除的指定檔案系統。

檔案系統及其內含的任何檔案稍後會在垃圾收集期間刪除。 如果找不到檔案系統,將會引發 ResourceNotFoundError。

delete_file_system(**kwargs: Any) -> None

參數

lease
strDataLakeLeaseClient

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

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

傳回類型

範例

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

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

要與其互動的目錄。 這可以是目錄的名稱或 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
strFileProperties
必要

要與其互動的檔案。 這可以是從根目錄) 或 FileProperties 實例 (檔案的路徑。例如directory/subdirectory/file

傳回

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
DataLakeLeaseClientstr

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

timeout
int

以秒為單位設定作業的伺服器端逾時。 如需詳細資訊,請參閱 https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations 。 用戶端上不會追蹤或驗證此值。 若要設定用戶端網路逾時,請參閱 這裡

傳回

存取聽寫中的原則資訊。

傳回類型

get_file_system_properties

傳回指定檔案系統的所有使用者定義中繼資料和系統屬性。 傳回的資料不包含檔案系統的路徑清單。

get_file_system_properties(**kwargs: Any) -> FileSystemProperties

參數

lease
strDataLakeLeaseClient

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

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,則回應會包含每個頁面最多 5,000 個專案。

upn

選擇性。 只有在帳戶啟用階層命名空間時才有效。 如果為 「true」,則會將 x-ms-owner、x-ms-group 和 x-ms-acl 回應標頭中傳回的使用者識別值從 Azure Active Directory 物件識別碼轉換成使用者主體名稱。 如果為 「false」,則會以 Azure Active Directory 物件識別碼的形式傳回這些值。 預設值為 false。 請注意,群組和應用程式物件識別碼不會轉譯,因為它們沒有唯一的易記名稱。

timeout
int

以秒為單位設定作業的伺服器端逾時。 如需詳細資訊,請參閱 https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations 。 此值不會在用戶端上追蹤或驗證。 若要設定用戶端網路逾時,請參閱 這裡

傳回

PathProperties 的可反覆運算 (自動分頁) 回應。

傳回類型

範例

列出檔案系統中的路徑。


   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,則回應會包含每個頁面最多 5,000 個專案。

timeout
int

以秒為單位設定作業的伺服器端逾時。 如需詳細資訊,請參閱 https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations 。 此值不會在用戶端上追蹤或驗證。 若要設定用戶端網路逾時,請參閱 這裡

傳回

可反覆運算 (DeletedPathProperties 的自動分頁) 回應。

傳回類型

set_file_system_access_policy

設定可搭配共用存取簽章使用的指定檔案系統或預存存取原則的許可權。 許可權會指出是否可以公開存取檔案系統中的檔案。

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
DataLakeLeaseClientstr

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

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

傳回

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

傳回類型

set_file_system_metadata

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

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

參數

metadata
dict[str, str]
必要

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

lease
strDataLakeLeaseClient

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

傳回

filesystem 更新的屬性聽寫 (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

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

location_mode

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

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

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