ShareServiceClient 類別
在帳戶層級與檔案共用服務互動的用戶端。
此用戶端提供作業來擷取和設定帳戶屬性,以及列出、建立和刪除帳戶內的共用。 對於與特定共用相關的作業,也可以使用 函式擷取該實體的 get_share_client 用戶端。
如需更多選擇性設定,請按一下 這裡。
- 繼承
-
azure.storage.fileshare._shared.base_client.StorageAccountHostsMixinShareServiceClient
建構函式
ShareServiceClient(account_url: str, 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
。
範例
使用 URL 和認證建立共用服務用戶端。
from azure.storage.fileshare import ShareServiceClient
share_service_client = ShareServiceClient(
account_url=self.account_url,
credential=self.access_key
)
方法
close |
這個方法是關閉用戶端所開啟的通訊端。 搭配內容管理員使用時,不需要使用它。 |
create_share |
在指定的帳號下建立新的共用。 如果相同名稱的共用已經存在,作業會失敗。 傳回要與新建立共用互動的用戶端。 |
delete_share |
標記要刪除的指定共用。 共用稍後會在垃圾收集期間刪除。 |
from_connection_string |
從連接字串建立 ShareServiceClient。 |
get_service_properties |
取得儲存體帳戶檔案共用服務的屬性,包括 Azure 儲存體分析。 |
get_share_client |
取得用戶端以與指定的共用互動。 共用不需要已經存在。 |
list_shares |
傳回可逐一逐一檢視指定帳戶下類似 Dict 的 ShareProperties 自動分頁。 產生器會延遲遵循服務傳回的接續權杖,並在傳回所有共用時停止。 |
set_service_properties |
設定儲存體帳戶檔案共用服務的屬性,包括 Azure 儲存體分析。 如果專案 (例如,hour_metrics) 保留為 None,則會保留該服務上的現有設定。 |
undelete_share |
還原虛刪除的共用。 只有在刪除保留原則中指定的天數內使用時,作業才會成功。 12.2.0 版的新功能:此作業是在 API 版本 '2019-12-12' 中引進。 |
close
這個方法是關閉用戶端所開啟的通訊端。 搭配內容管理員使用時,不需要使用它。
close()
create_share
在指定的帳號下建立新的共用。 如果相同名稱的共用已經存在,作業會失敗。 傳回要與新建立共用互動的用戶端。
create_share(share_name: str, **kwargs) -> ShareClient
參數
- quota
- int
以位元組為單位的配額。
- timeout
- int
以秒為單位設定作業的伺服器端逾時。 如需詳細資訊,請參閱 https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-file-service-operations 。 用戶端上不會追蹤或驗證此值。 若要設定用戶端網路逾時,請參閱 這裡。
傳回
新建立共用的 ShareClient。
傳回類型
範例
在檔案共用服務中建立共用。
file_service.create_share(share_name="fileshare1")
delete_share
標記要刪除的指定共用。 共用稍後會在垃圾收集期間刪除。
delete_share(share_name: ShareProperties | str, delete_snapshots: bool | None = False, **kwargs) -> None
參數
- timeout
- int
以秒為單位設定作業的伺服器端逾時。 如需詳細資訊,請參閱 https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-file-service-operations 。 用戶端上不會追蹤或驗證此值。 若要設定用戶端網路逾時,請參閱 這裡。
傳回類型
範例
刪除檔案共用服務中的共用。
file_service.delete_share(share_name="fileshare1")
from_connection_string
從連接字串建立 ShareServiceClient。
from_connection_string(conn_str: 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」 應該是儲存體帳戶金鑰。
傳回
檔案共用服務用戶端。
傳回類型
範例
使用連接字串建立共用服務用戶端。
from azure.storage.fileshare import ShareServiceClient
share_service_client = ShareServiceClient.from_connection_string(self.connection_string)
get_service_properties
取得儲存體帳戶檔案共用服務的屬性,包括 Azure 儲存體分析。
get_service_properties(**kwargs: Any) -> Dict[str, Any]
參數
- timeout
- int
以秒為單位設定作業的伺服器端逾時。 如需詳細資訊,請參閱 https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-file-service-operations 。 用戶端上不會追蹤或驗證此值。 若要設定用戶端網路逾時,請參閱 這裡。
傳回
包含檔案服務屬性的字典,例如分析記錄、小時/分鐘計量、cors 規則等等。
傳回類型
範例
取得檔案共用服務屬性。
properties = file_service.get_service_properties()
get_share_client
取得用戶端以與指定的共用互動。 共用不需要已經存在。
get_share_client(share: ShareProperties | str, snapshot: Dict[str, Any] | str | None = None) -> ShareClient
參數
- snapshot
- str
要在其中運作的選擇性共用快照集。 這可以是快照集識別碼字串或從 <xref:azure.storage.fileshare.create_snapshot> 傳回的回應。
傳回
ShareClient。
傳回類型
範例
取得共用用戶端。
from azure.storage.fileshare import ShareServiceClient
file_service = ShareServiceClient.from_connection_string(self.connection_string)
# Get a share client to interact with a specific share
share = file_service.get_share_client("fileshare2")
list_shares
傳回可逐一逐一檢視指定帳戶下類似 Dict 的 ShareProperties 自動分頁。 產生器會延遲遵循服務傳回的接續權杖,並在傳回所有共用時停止。
list_shares(name_starts_with: str | None = None, include_metadata: bool | None = False, include_snapshots: bool | None = False, **kwargs) -> ItemPaged[ShareProperties]
參數
- include_deleted
- bool
指定在回應中傳回已刪除的共用。 這僅適用于已啟用共用虛刪除的帳戶。
- timeout
- int
以秒為單位設定作業的伺服器端逾時。 如需詳細資訊,請參閱 https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-file-service-operations 。 用戶端上不會追蹤或驗證此值。 若要設定用戶端網路逾時,請參閱 這裡。
傳回
ShareProperties 的可反覆運算 (自動分頁) 。
傳回類型
範例
列出檔案共用服務中的共用。
# List the shares in the file service
my_shares = list(file_service.list_shares())
# Print the shares
for share in my_shares:
print(share)
set_service_properties
設定儲存體帳戶檔案共用服務的屬性,包括 Azure 儲存體分析。 如果專案 (例如,hour_metrics) 保留為 None,則會保留該服務上的現有設定。
set_service_properties(hour_metrics: Metrics | None = None, minute_metrics: Metrics | None = None, cors: List[CorsRule] | None = None, protocol: ShareProtocolSettings | None = None, **kwargs) -> None
參數
- timeout
- int
以秒為單位設定作業的伺服器端逾時。 如需詳細資訊,請參閱 https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-file-service-operations 。 用戶端上不會追蹤或驗證此值。 若要設定用戶端網路逾時,請參閱 這裡。
傳回類型
範例
設定檔案共用服務屬性。
# Create service properties
from azure.storage.fileshare import Metrics, CorsRule, RetentionPolicy
# Create metrics for requests statistics
hour_metrics = Metrics(enabled=True, include_apis=True, retention_policy=RetentionPolicy(enabled=True, days=5))
minute_metrics = Metrics(enabled=True, include_apis=True,
retention_policy=RetentionPolicy(enabled=True, days=5))
# Create CORS rules
cors_rule1 = CorsRule(['www.xyz.com'], ['GET'])
allowed_origins = ['www.xyz.com', "www.ab.com", "www.bc.com"]
allowed_methods = ['GET', 'PUT']
max_age_in_seconds = 500
exposed_headers = ["x-ms-meta-data*", "x-ms-meta-source*", "x-ms-meta-abc", "x-ms-meta-bcd"]
allowed_headers = ["x-ms-meta-data*", "x-ms-meta-target*", "x-ms-meta-xyz", "x-ms-meta-foo"]
cors_rule2 = CorsRule(
allowed_origins,
allowed_methods,
max_age_in_seconds=max_age_in_seconds,
exposed_headers=exposed_headers,
allowed_headers=allowed_headers)
cors = [cors_rule1, cors_rule2]
# Set the service properties
file_service.set_service_properties(hour_metrics, minute_metrics, cors)
undelete_share
還原虛刪除的共用。
只有在刪除保留原則中指定的天數內使用時,作業才會成功。
12.2.0 版的新功能:此作業是在 API 版本 '2019-12-12' 中引進。
undelete_share(deleted_share_name: str, deleted_share_version: str, **kwargs: Any) -> ShareClient
參數
- timeout
- int
以秒為單位設定作業的伺服器端逾時。 如需詳細資訊,請參閱 https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-file-service-operations 。 用戶端上不會追蹤或驗證此值。 若要設定用戶端網路逾時,請參閱 這裡。
傳回
未刪除共用的 ShareClient。
傳回類型
屬性
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