你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

BlobLeaseClient 类

创建新的 BlobLeaseClient。

此客户端在 BlobClient 或 ContainerClient 上提供租约操作。

继承
builtins.object
BlobLeaseClient

构造函数

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

参数

client
BlobClientContainerClient
必需

要租用的 Blob 或容器的客户端。

lease_id
str
默认值: None

表示现有租约的租约 ID 的字符串。 无需指定此值即可获取新租约或中断租约。

变量

id
str

当前维护的租约的 ID。 如果尚未获得任何租约,则为 None。

etag
str

当前维护的租约的 ETag。 如果尚未获取或修改任何租约,则为 None。

last_modified
datetime

当前维护的租约的上次修改时间戳。 如果尚未获取或修改任何租约,则为 None。

方法

acquire

请求新的租约。

如果容器没有活动租约,则 BLOB 服务会在该容器上创建一个租约,并返回新的租约 ID。

break_lease

如果容器或 blob 具有活动租约,则中断租约。

在中断租约后,无法进行续订。 任何授权的请求都可以中断租约;请求不需要指定匹配的租约 ID。 中断租约时,允许租用中断期过,在此期间,除中断和释放外,不能对容器或 Blob 执行任何租用操作。 在租约成功中断后,响应指示可以获取新租约之前等待的时间间隔(秒)。

change

更改活动租约的租约 ID。

release

释放租约。

如果指定的客户端租约 ID 与容器或 blob 关联的匹配,则可能会释放租约。 释放租约允许另一个客户端在发布完成后立即获取容器或 Blob 的租约。

renew

续订租约。

如果租约客户端中指定的租约 ID 与容器或 Blob 关联的 ID 匹配,则可以续订租约。 请注意,即使租约已过期,租约也可能续订,前提是自该租约到期后容器或 Blob 未再次租用。 在续订租约时,将重置租约持续时间时钟。

acquire

请求新的租约。

如果容器没有活动租约,则 BLOB 服务会在该容器上创建一个租约,并返回新的租约 ID。

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 具有活动租约,则中断租约。

在中断租约后,无法进行续订。 任何授权的请求都可以中断租约;请求不需要指定匹配的租约 ID。 中断租约时,允许租用中断期过,在此期间,除中断和释放外,不能对容器或 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

更改活动租约的租约 ID。

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

参数

proposed_lease_id
str
必需

建议的租约 ID,采用 GUID 字符串格式。 如果建议的租用 ID 格式不正确,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

释放租约。

如果指定的客户端租约 ID 与容器或 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

续订租约。

如果租约客户端中指定的租约 ID 与容器或 Blob 关联的 ID 匹配,则可以续订租约。 请注意,即使租约已过期,租约也可能续订,前提是自该租约到期后容器或 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 。 不会在客户端上跟踪或验证此值。 若要配置客户端网络超时,请参阅 此处

返回