共用方式為


BlobLeaseClient 類別

建立新的 BlobLeaseClient。

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

繼承
azure.storage.blob._lease.BlobLeaseClient
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 服務會在容器上建立租用,並傳回新的租用識別碼。

async 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 上執行任何租用作業。 當租用成功中斷時,回應會指出可取得新租用之前的間隔秒數。

async 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

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

async 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 的租用。

async 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,仍可能會更新租用。 當您更新租用時,租用持續時間的時鐘會重設。

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

傳回