你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
BlobLeaseClient 类
创建新的 BlobLeaseClient。
此客户端在 BlobClient 或 ContainerClient 上提供租约操作。
- 继承
-
builtins.objectBlobLeaseClient
构造函数
BlobLeaseClient(client: BlobClient | ContainerClient, lease_id: str | None = None)
参数
变量
- 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 。 不会在客户端上跟踪或验证此值。 若要配置客户端网络超时,请参阅 此处。
返回
在租约期内的大约剩余时间(秒)。
返回类型
change
更改活动租约的租约 ID。
change(proposed_lease_id: str, **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 。 不会在客户端上跟踪或验证此值。 若要配置客户端网络超时,请参阅 此处。
返回
无
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 。 不会在客户端上跟踪或验证此值。 若要配置客户端网络超时,请参阅 此处。
返回
无