ShareDirectoryClient 類別
要與特定目錄互動的用戶端,雖然可能還不存在。
對於與此共用中特定子目錄或檔案相關的作業,也可以使用 和 get_file_client 函式擷取這些實體的 get_subdirectory_client 用戶端。
如需更多選擇性設定,請按一下 這裡。
- 繼承
-
azure.storage.fileshare._shared.base_client.StorageAccountHostsMixinShareDirectoryClient
建構函式
ShareDirectoryClient(account_url: str, share_name: str, directory_path: str, snapshot: str | Dict[str, Any] | None = None, credential: str | Dict[str, str] | AzureNamedKeyCredential | AzureSasCredential | TokenCredential | None = None, *, token_intent: Literal['backup'] | None = None, **kwargs: Any)
參數
- credential
要用來驗證的認證。 如果帳戶 URL 已經有 SAS 權杖,則這是選擇性的。 此值可以是 SAS 權杖字串、來自 azure.core.credentials 的 AzureSasCredential 或 AzureNamedKeyCredential 實例、帳戶共用存取金鑰,或來自 azure.identity 的 TokenCredentials 類別實例。 如果資源 URI 已經包含 SAS 權杖,則會忽略此權杖,以使用明確的認證
- 除了 AzureSasCredential 的情況之外,衝突的 SAS 權杖將會引發 ValueError。 如果使用 AzureNamedKeyCredential 的實例,「name」 應該是儲存體帳戶名稱,而 「key」 應該是儲存體帳戶金鑰。
- token_intent
- Literal['backup']
使用 TokenCredential 進行驗證時為必要專案,並忽略其他形式的驗證。 使用 TokenCredential 驗證時,指定所有要求的意圖。 可能的值包括:
backup - 指定要求適用于備份/管理員類型作業,這表示會略過所有檔案/目錄 ACL,並授與完整許可權。 使用者也必須具有必要的 RBAC 許可權。
- allow_trailing_dot
- bool
如果為 true,則不會從目標 URI 修剪尾端點。
- allow_source_trailing_dot
- bool
如果為 true,則不會從來源 URI 修剪尾端點。
- secondary_hostname
- str
次要端點的主機名稱。
- max_range_size
- int
用於檔案上傳的範圍大小上限。 預設為 4*1024*1024
。
- audience
- str
要求 Azure Active Directory 驗證權杖時要使用的物件。 只有在認證類型為 TokenCredential 時才會生效。 此值可以是 https://storage.azure.com/ 預設) 或 HTTPs://.file.core.windows.net (。
方法
close |
這個方法是關閉用戶端所開啟的通訊端。 與內容管理員搭配使用時,不需要使用它。 |
close_all_handles |
關閉任何開啟的檔案控制碼。 這項作業將會封鎖,直到服務關閉所有開啟的控制碼為止。 |
close_handle |
關閉開啟的檔案控制碼。 |
create_directory |
在用戶端所參考的目錄下建立新的目錄。 |
create_subdirectory |
建立新的子目錄,並傳回用戶端來與子目錄互動。 |
delete_directory |
標記要刪除的目錄。 目錄稍後會在垃圾收集期間刪除。 |
delete_file |
標記要刪除的指定檔案。 檔案稍後會在垃圾收集期間刪除。 |
delete_subdirectory |
刪除子目錄。 |
exists |
如果目錄存在,則傳回 True,否則會傳回 False。 |
from_connection_string |
從連接字串建立 ShareDirectoryClient。 |
from_directory_url |
從目錄 URL 建立 ShareDirectoryClient。 |
get_directory_properties |
傳回指定目錄的所有使用者定義中繼資料和系統屬性。 傳回的資料不包含目錄的檔案清單。 |
get_file_client |
取得用戶端以與特定檔案互動。 檔案不需要已經存在。 |
get_subdirectory_client |
取得用戶端以與特定子目錄互動。 子目錄不需要已經存在。 |
list_directories_and_files |
列出目錄下的所有目錄和檔案。 |
list_handles |
列出目錄或目錄下檔案上開啟的控制碼。 |
rename_directory |
重新命名來原始目錄。 :p aramtype file_attributes:~azure.storage.fileshare.NTFSAttributes 或 str :keyword file_creation_time: 目錄的建立時間。 :p aramtype file_creation_time:~datetime.datetime 或 str :keyword file_last_write_time: 檔案的上次寫入時間。 :p aramtype file_last_write_time:~datetime.datetime 或 str :keyword file_change_time: 變更目錄的時間。 如果未指定,變更時間將會設定為目前的日期/時間。 12.8.0 版的新功能:此參數是在 API 版本 '2021-06-08' 中引進。 |
set_directory_metadata |
設定目錄的中繼資料。 每次呼叫這項作業都會取代附加至目錄的所有現存中繼資料。 若要從目錄中移除所有中繼資料,請使用空的中繼資料聽寫呼叫此作業。 |
set_http_headers |
設定目錄上的 HTTP 標頭。 |
upload_file |
在目錄中建立新的檔案,並傳回 ShareFileClient 以與檔案互動。 |
close
這個方法是關閉用戶端所開啟的通訊端。 與內容管理員搭配使用時,不需要使用它。
close()
close_all_handles
關閉任何開啟的檔案控制碼。
這項作業將會封鎖,直到服務關閉所有開啟的控制碼為止。
close_all_handles(recursive: bool = False, **kwargs: Any) -> Dict[str, int]
參數
- timeout
- int
以秒為單位設定作業的伺服器端逾時。 如需詳細資訊,請參閱 https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-file-service-operations 。 此值不會在用戶端上追蹤或驗證。 若要設定用戶端網路逾時,請參閱 這裡。
傳回
如果找不到指定的控制碼,) 且控制碼數目無法在聽寫中關閉,則關閉 (的控制碼數目可能會是 0。
傳回類型
close_handle
關閉開啟的檔案控制碼。
close_handle(handle: str | Handle, **kwargs: Any) -> Dict[str, int]
參數
- timeout
- int
以秒為單位設定作業的伺服器端逾時。 如需詳細資訊,請參閱 https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-file-service-operations 。 此值不會在用戶端上追蹤或驗證。 若要設定用戶端網路逾時,請參閱 這裡。
傳回
如果找不到指定的控制碼,) 且控制碼數目無法在聽寫中關閉,則關閉 (的控制碼數目可能會是 0。
傳回類型
create_directory
在用戶端所參考的目錄下建立新的目錄。
create_directory(**kwargs: Any) -> Dict[str, Any]
參數
- file_attributes
- NTFSAttributes
檔案和目錄的檔案系統屬性。 如果未設定,預設值會是 「none」,而且屬性會設定為 「Archive」。 以下是 var 類型為 str 時的範例:'Temporary|封存'。 file_attributes值不區分大小寫。
- file_permission
- str
如果指定許可權 () 應為目錄/檔案設定安全性描述項。 如果許可權大小為 < = 8KB,則可以使用此標頭,否則應該使用 file-permission-key 標頭。 預設值:繼承。 如果將 SDDL 指定為輸入,它必須具有擁有者、群組和 dacl。 注意:應該只指定其中一個檔案許可權或 file-permission-key。
- file_permission_key
- str
要為目錄/檔案設定之許可權的索引鍵。 注意:應該只指定其中一個檔案許可權或 file-permission-key。
變更目錄的時間。 如果未指定,變更時間將會設定為目前的日期/時間。
12.8.0 版的新功能:這個參數是在 API 版本 '2021-06-08' 中引進。
- timeout
- int
以秒為單位設定作業的伺服器端逾時。 如需詳細資訊,請參閱 https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-file-service-operations 。 此值不會在用戶端上追蹤或驗證。 若要設定用戶端網路逾時,請參閱 這裡。
傳回
目錄更新的屬性聽寫 (Etag 和上次修改) 。
傳回類型
範例
建立目錄。
my_directory.create_directory()
create_subdirectory
建立新的子目錄,並傳回用戶端來與子目錄互動。
create_subdirectory(directory_name: str, **kwargs) -> ShareDirectoryClient
參數
- timeout
- int
以秒為單位設定作業的伺服器端逾時。 如需詳細資訊,請參閱 https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-file-service-operations 。 此值不會在用戶端上追蹤或驗證。 若要設定用戶端網路逾時,請參閱 這裡。
傳回
ShareDirectoryClient
傳回類型
範例
建立子目錄。
# Create the directory
parent_dir.create_directory()
# Create a subdirectory
subdir = parent_dir.create_subdirectory("subdir")
delete_directory
標記要刪除的目錄。 目錄稍後會在垃圾收集期間刪除。
delete_directory(**kwargs: Any) -> None
參數
- timeout
- int
以秒為單位設定作業的伺服器端逾時。 如需詳細資訊,請參閱 https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-file-service-operations 。 此值不會在用戶端上追蹤或驗證。 若要設定用戶端網路逾時,請參閱 這裡。
傳回類型
範例
刪除目錄。
my_directory.delete_directory()
delete_file
標記要刪除的指定檔案。 檔案稍後會在垃圾收集期間刪除。
delete_file(file_name: str, **kwargs: Any | None) -> None
參數
- timeout
- int
以秒為單位設定作業的伺服器端逾時。 如需詳細資訊,請參閱 https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-file-service-operations 。 此值不會在用戶端上追蹤或驗證。 若要設定用戶端網路逾時,請參閱 這裡。
傳回類型
範例
刪除目錄中的檔案。
# Delete the file in the directory
my_directory.delete_file(file_name="sample")
delete_subdirectory
刪除子目錄。
delete_subdirectory(directory_name: str, **kwargs) -> None
參數
- timeout
- int
以秒為單位設定作業的伺服器端逾時。 如需詳細資訊,請參閱 https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-file-service-operations 。 此值不會在用戶端上追蹤或驗證。 若要設定用戶端網路逾時,請參閱 這裡。
傳回類型
範例
刪除子目錄。
parent_dir.delete_subdirectory("subdir")
exists
如果目錄存在,則傳回 True,否則會傳回 False。
exists(**kwargs: Any) -> bool
參數
- timeout
- int
以秒為單位設定作業的伺服器端逾時。 如需詳細資訊,請參閱 https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-file-service-operations 。 此值不會在用戶端上追蹤或驗證。 若要設定用戶端網路逾時,請參閱 這裡。
傳回
如果目錄存在,則為 True,否則為 False。
傳回類型
from_connection_string
從連接字串建立 ShareDirectoryClient。
from_connection_string(conn_str: str, share_name: str, directory_path: 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 類別實例。 如果資源 URI 已經包含 SAS 權杖,則會忽略此權杖,以使用明確的認證
- 除了 AzureSasCredential 的情況之外,衝突的 SAS 權杖將會引發 ValueError。 如果使用 AzureNamedKeyCredential 的實例,「name」 應該是儲存體帳戶名稱,而 「key」 應該是儲存體帳戶金鑰。
- audience
- str
要求 Azure Active Directory 驗證權杖時要使用的物件。 只有在認證類型為 TokenCredential 時才會生效。 此值可以是 https://storage.azure.com/ 預設) 或 HTTPs://.file.core.windows.net (。
傳回
目錄用戶端。
傳回類型
from_directory_url
從目錄 URL 建立 ShareDirectoryClient。
from_directory_url(directory_url: str, snapshot: str | Dict[str, Any] | None = None, 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 類別實例。 如果資源 URI 已經包含 SAS 權杖,則會忽略此權杖,以使用明確的認證
- 除了 AzureSasCredential 的情況之外,衝突的 SAS 權杖將會引發 ValueError。 如果使用 AzureNamedKeyCredential 的實例,「name」 應該是儲存體帳戶名稱,而 「key」 應該是儲存體帳戶金鑰。
- audience
- str
要求 Azure Active Directory 驗證權杖時要使用的物件。 只有在認證類型為 TokenCredential 時才會生效。 此值可以是 https://storage.azure.com/ 預設) 或 HTTPs://.file.core.windows.net (。
傳回
目錄用戶端。
傳回類型
get_directory_properties
傳回指定目錄的所有使用者定義中繼資料和系統屬性。 傳回的資料不包含目錄的檔案清單。
get_directory_properties(**kwargs: Any) -> DirectoryProperties
參數
- timeout
- int
以秒為單位設定作業的伺服器端逾時。 如需詳細資訊,請參閱 https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-file-service-operations 。 此值不會在用戶端上追蹤或驗證。 若要設定用戶端網路逾時,請參閱 這裡。
傳回
DirectoryProperties
傳回類型
get_file_client
取得用戶端以與特定檔案互動。
檔案不需要已經存在。
get_file_client(file_name: str, **kwargs: Any) -> ShareFileClient
參數
傳回
檔案用戶端。
傳回類型
get_subdirectory_client
取得用戶端以與特定子目錄互動。
子目錄不需要已經存在。
get_subdirectory_client(directory_name: str, **kwargs: Any) -> ShareDirectoryClient
參數
傳回
目錄用戶端。
傳回類型
範例
取得子目錄用戶端。
# Get a directory client and create the directory
parent = share.get_directory_client("dir1")
parent.create_directory()
# Get a subdirectory client and create the subdirectory "dir1/dir2"
subdirectory = parent.get_subdirectory_client("dir2")
subdirectory.create_directory()
list_directories_and_files
列出目錄下的所有目錄和檔案。
list_directories_and_files(name_starts_with: str | None = None, **kwargs: Any) -> ItemPaged
參數
包含此參數,以指定要包含在回應中的一或多個資料集。 可能的 str 值為 「timestamps」、「Etag」、「Attributes」、「PermissionKey」。
12.6.0 版的新功能。
此關鍵字引數是在 API 版本 '2020-10-02' 中引進。
- include_extended_info
- bool
如果此值設定為 true,則會在列出的結果中傳回檔案識別碼。
12.6.0 版的新功能。
此關鍵字引數是在 API 版本 '2020-10-02' 中引進。
- timeout
- int
以秒為單位設定作業的伺服器端逾時。 如需詳細資訊,請參閱 https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-file-service-operations 。 此值不會在用戶端上追蹤或驗證。 若要設定用戶端網路逾時,請參閱 這裡。
傳回
自動分頁可反覆運算類似 Dict 的 DirectoryProperties 和 FileProperties
傳回類型
範例
列出目錄和檔案。
# List the directories and files under the parent directory
my_list = list(parent_dir.list_directories_and_files())
print(my_list)
list_handles
列出目錄或目錄下檔案上開啟的控制碼。
list_handles(recursive: bool = False, **kwargs: Any) -> ItemPaged[Handle]
參數
- timeout
- int
以秒為單位設定作業的伺服器端逾時。 如需詳細資訊,請參閱 https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-file-service-operations 。 此值不會在用戶端上追蹤或驗證。 若要設定用戶端網路逾時,請參閱 這裡。
傳回
可反覆運算控制碼的自動分頁
傳回類型
rename_directory
重新命名來原始目錄。
:p aramtype file_attributes:~azure.storage.fileshare.NTFSAttributes 或 str :keyword file_creation_time:
目錄的建立時間。
:p aramtype file_creation_time:~datetime.datetime 或 str :keyword file_last_write_time:
檔案的上次寫入時間。
:p aramtype file_last_write_time:~datetime.datetime 或 str :keyword file_change_time:
變更目錄的時間。 如果未指定,變更時間將會設定為目前的日期/時間。
12.8.0 版的新功能:此參數是在 API 版本 '2021-06-08' 中引進。
rename_directory(new_name: str, **kwargs: Any) -> ShareDirectoryClient
參數
- destination_lease
- ShareLeaseClient 或 str
如果目的地檔案具有作用中的租用,則為必要專案。 值可以是 ShareLeaseClient 物件或租用識別碼作為字串。
傳回
新的目錄用戶端。
傳回類型
set_directory_metadata
設定目錄的中繼資料。
每次呼叫這項作業都會取代附加至目錄的所有現存中繼資料。 若要從目錄中移除所有中繼資料,請使用空的中繼資料聽寫呼叫此作業。
set_directory_metadata(metadata: Dict[str, Any], **kwargs: Any) -> Dict[str, Any]
參數
- timeout
- int
以秒為單位設定作業的伺服器端逾時。 如需詳細資訊,請參閱 https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-file-service-operations 。 用戶端上不會追蹤或驗證此值。 若要設定用戶端網路逾時,請參閱 這裡。
傳回
目錄更新的屬性聽寫 (Etag 和上次修改) 。
傳回類型
set_http_headers
設定目錄上的 HTTP 標頭。
set_http_headers(file_attributes: str | NTFSAttributes = 'none', file_creation_time: str | datetime | None = 'preserve', file_last_write_time: str | datetime | None = 'preserve', file_permission: str | None = None, permission_key: str | None = None, **kwargs: Any) -> Dict[str, Any]
參數
- file_permission
- str
如果指定許可權 (安全性描述元) 應設定目錄/檔案。 如果許可權大小為 < = 8KB,則可以使用此標頭,否則應該使用 x-ms-file-permission-key 標頭。 預設值:繼承。 如果 SDDL 指定為輸入,它必須具有擁有者、群組和 dacl。 注意:應該只指定其中一個 x-ms-file-permission 或 x-ms-file-permission-key。
- permission_key
- str
要為目錄/檔案設定之許可權的索引鍵。 注意:應該只指定其中一個 x-ms-file-permission 或 x-ms-file-permission-key。
變更目錄的時間。 如果未指定,變更時間將會設定為目前的日期/時間。
12.8.0 版的新功能:此參數是在 API 版本 '2021-06-08' 中引進。
- timeout
- int
以秒為單位設定作業的伺服器端逾時。 如需詳細資訊,請參閱 https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-file-service-operations 。 用戶端上不會追蹤或驗證此值。 若要設定用戶端網路逾時,請參閱 這裡。
傳回
檔案更新的屬性聽寫 (Etag 和上次修改) 。
傳回類型
upload_file
在目錄中建立新的檔案,並傳回 ShareFileClient 以與檔案互動。
upload_file(file_name: str, data: bytes | str | Iterable | IO, length: int | None = None, **kwargs) -> ShareFileClient
參數
- data
檔案的內容。
- content_settings
- ContentSettings
用來設定檔案屬性的 ContentSettings 物件。 用來設定內容類型、編碼、語言、處置、md5 和快取控制項。
- validate_content
- bool
如果為 true,則計算檔案每個範圍的 MD5 雜湊。 儲存體服務會檢查已使用已傳送之雜湊抵達的內容雜湊。 如果使用 HTTP 而非 HTTPs 作為 HTTPs, (預設) 已驗證,這主要對於偵測線路上的 bitflip 相當重要。 請注意,這個 MD5 雜湊不會與檔案一起儲存。
- max_concurrency
- int
要使用的平行連線數目上限。
回呼,用來追蹤長時間執行上傳的進度。 簽章是目前 (函式:int、total:Optional[int]) ,其中 current 是目前傳輸的位元組數目,而 total 是 Blob 的大小;如果大小未知,則為 None。
- timeout
- int
以秒為單位設定作業的伺服器端逾時。 如需詳細資訊,請參閱 https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-file-service-operations 。 用戶端上不會追蹤或驗證此值。 若要設定用戶端網路逾時,請參閱 這裡。
- encoding
- str
預設為 UTF-8。
傳回
ShareFileClient
傳回類型
範例
將檔案上傳至目錄。
# Upload a file to the directory
with open(SOURCE_FILE, "rb") as source:
my_directory.upload_file(file_name="sample", data=source)
屬性
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
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應