共用方式為


BlobLeaseClient 類別

建立新的 BlobLeaseClient。

此用戶端會在 BlobClient 或 ContainerClient 上提供租用作業。

繼承
builtins.object
BlobLeaseClient

建構函式

BlobLeaseClient(client: BlobClient | ContainerClient, lease_id: str | None = None)

參數

client
BlobClientContainerClient
必要

要租用之 Blob 或容器的用戶端。

lease_id
str
預設值: None

字串,表示現有租用的租用識別碼。 這個值不需要指定,才能取得新的租用,或中斷一個租用。

變數

id
str

目前正在維護之租用的識別碼。 如果尚未取得任何租用,這會是 None

etag
str

目前正在維護之租用的 ETag。 如果沒有取得或修改租用,這會是 None

last_modified
datetime

目前正在維護之租用的最後一個修改時間戳記。 如果沒有取得或修改租用,這會是 None

方法

acquire

要求新的租用。

如果容器沒有作用中的租用,Blob 服務會在容器上建立租用,並傳回新的租用識別碼。

break_lease

如果容器或 Blob 有作用中的租用,請中斷租用。

一旦租用中斷,即無法更新。 任何獲授權的要求都可以中斷租用,不需要求即可指定相符的租用識別碼。 當租用中斷時,允許租用中斷期間經過,在這段期間,除了中斷和釋放以外的租用作業,可以在容器或 Blob 上執行。 當租用成功中斷時,回應會指出可取得新租用之前的間隔秒數。

change

變更使用中租用的租用識別碼。

release

釋放租用。

如果指定的用戶端租用識別碼符合與容器或 Blob 相關聯的識別碼,可能會釋放租用。 釋放租用可讓另一個用戶端在發行完成後立即取得容器或 Blob 的租用。

renew

更新租用。

如果租用用戶端中指定的租用識別碼符合與容器或 Blob 相關聯的租用識別碼,則可以更新租用。 請注意,即使該租用到期後容器或 Blob 尚未再次租用,仍可能會更新租用。 當您更新租用時,租用持續時間的時鐘會重設。

acquire

要求新的租用。

如果容器沒有作用中的租用,Blob 服務會在容器上建立租用,並傳回新的租用識別碼。

acquire(lease_duration: int = -1, **kwargs: Any) -> None

參數

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

if_tags_match_condition
str

指定 Blob 標記上的 SQL where 子句,以只在具有相符值的 Blob 上運作。 例如 "\"tagname\"='my tag'"

12.4.0 版的新功能。

timeout
int

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

傳回類型

break_lease

如果容器或 Blob 有作用中的租用,請中斷租用。

一旦租用中斷,即無法更新。 任何獲授權的要求都可以中斷租用,不需要求即可指定相符的租用識別碼。 當租用中斷時,允許租用中斷期間經過,在這段期間,除了中斷和釋放以外的租用作業,可以在容器或 Blob 上執行。 當租用成功中斷時,回應會指出可取得新租用之前的間隔秒數。

break_lease(lease_break_period: int | None = None, **kwargs: Any) -> int

參數

lease_break_period
int
必要

這是租用在中斷前應該繼續的秒數建議持續時間,介於 0 到 60 秒之間。 只有在比租用的剩餘時間還短時,才會使此中斷期。 如果時間較長,則會使用租用的剩餘時間。 在中斷期到期之前,將無法使用新的租用,但是保留租用的時間可以比中斷期還長。 如果此標頭未顯示中斷作業,固定持續時間租用會在剩餘租用期間經過之後中斷,而無限租用會立即中斷。

if_modified_since
datetime

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

if_unmodified_since
datetime

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

if_tags_match_condition
str

指定 Blob 標記上的 SQL where 子句,以只在具有相符值的 Blob 上運作。 例如 "\"tagname\"='my tag'"

12.4.0 版的新功能。

timeout
int

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

傳回

在租用期間內保留的近似時間 (以秒計)。

傳回類型

int

change

變更使用中租用的租用識別碼。

change(proposed_lease_id: str, **kwargs: Any) -> None

參數

proposed_lease_id
str
必要

建議的租用識別碼,使用 GUID 字串格式。 如果建議的租用識別碼格式不正確,Blob 服務會傳回 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 的比對條件。

if_tags_match_condition
str

指定 Blob 標記上的 SQL where 子句,以只在具有相符值的 Blob 上運作。 例如 "\"tagname\"='my tag'"

12.4.0 版的新功能。

timeout
int

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

傳回

release

釋放租用。

如果指定的用戶端租用識別碼符合與容器或 Blob 相關聯的識別碼,可能會釋放租用。 釋放租用可讓另一個用戶端在發行完成後立即取得容器或 Blob 的租用。

release(**kwargs: Any) -> None

參數

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

if_tags_match_condition
str

指定 Blob 標記上的 SQL where 子句,以只在具有相符值的 Blob 上運作。 例如 "\"tagname\"='my tag'"

12.4.0 版的新功能。

timeout
int

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

傳回

renew

更新租用。

如果租用用戶端中指定的租用識別碼符合與容器或 Blob 相關聯的租用識別碼,則可以更新租用。 請注意,即使該租用到期後容器或 Blob 尚未再次租用,仍可能會更新租用。 當您更新租用時,租用持續時間的時鐘會重設。

renew(**kwargs: Any) -> None

參數

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

if_tags_match_condition
str

指定 Blob 標記上的 SQL where 子句,以只在具有相符值的 Blob 上運作。 例如 "\"tagname\"='my tag'"

12.4.0 版的新功能。

timeout
int

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

傳回