FileSystemClient 類別
與特定檔案系統互動的用戶端,即使該檔案系統可能還不存在也一樣。
對於與此檔案系統內特定目錄或檔案相關的作業,可以使用 或 get_file_client 函式來擷取 get_directory_client 目錄用戶端或檔案用戶端。
- 繼承
-
azure.storage.filedatalake._shared.base_client.StorageAccountHostsMixinFileSystemClient
建構函式
FileSystemClient(account_url: str, file_system_name: str, credential: str | Dict[str, str] | AzureNamedKeyCredential | AzureSasCredential | TokenCredential | None = None, **kwargs: Any)
參數
- credential
要用來驗證的認證。 如果帳戶 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 (無限租用) 。
- 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
參數
- content_settings
- ContentSettings
用來設定路徑屬性的 ContentSettings 物件。
- lease
- DataLakeLeaseClient 或 str
如果檔案具有作用中的租用,則為必要專案。 值可以是 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
參數
- lease
- DataLakeLeaseClient 或 str
如果檔案具有作用中的租用,則為必要專案。 值可以是 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的類型是 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]
參數
- 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
參數
- lease
- DataLakeLeaseClient 或 str
如果檔案具有作用中的租用,則為必要專案。 值可以是 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
參數
- lease
- DataLakeLeaseClient 或 str
如果檔案具有作用中的租用,則為必要專案。 值可以是 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
- str 或 DataLakeLeaseClient
如果指定,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
參數
- credential
要用來驗證的認證。 如果帳戶 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
參數
傳回
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/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
- DataLakeLeaseClient 或 str
如果指定,則只有在檔案系統的租用作用中且符合此識別碼時,作業才會成功。
- 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
- str 或 DataLakeLeaseClient
如果指定,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]
參數
- 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]
參數
- lease
- DataLakeLeaseClient 或 str
如果檔案系統有作用中的租用,則為必要專案。 值可以是 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]
參數
- lease
- str 或 DataLakeLeaseClient
如果指定,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