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

DataLakeLeaseClient 类

创建新的 DataLakeLeaseClient。

此客户端在 FileSystemClient、DataLakeDirectoryClient 或 DataLakeFileClient 上提供租约操作。

继承
builtins.object
DataLakeLeaseClient

构造函数

DataLakeLeaseClient(client: FileSystemClient | DataLakeDirectoryClient | DataLakeFileClient, lease_id: str | None = None)

参数

client
FileSystemClientDataLakeDirectoryClientDataLakeFileClient
必需

要租用的文件系统、目录或文件的客户端。

lease_id
str
默认值: None

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

变量

id
str

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

etag
str

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

last_modified
datetime

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

方法

acquire

请求新的租约。

如果文件/文件系统没有活动的租约,DataLake 服务将在文件/文件系统上创建租约,并返回新的租约 ID。

break_lease

如果文件系统或文件具有活动租约,则中断租约。

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

change

更改活动租约的租约 ID。

release

释放租约。

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

renew

续订租约。

如果租约客户端中指定的租约 ID 与文件系统或文件关联的 ID 匹配,则可以续订租约。 请注意,只要文件系统或文件自该租约到期后未再次租用,租约仍可续订,即使该租约已过期。 在续订租约时,将重置租约持续时间时钟。

acquire

请求新的租约。

如果文件/文件系统没有活动的租约,DataLake 服务将在文件/文件系统上创建租约,并返回新的租约 ID。

acquire(lease_duration: int = -1, **kwargs: int | None) -> 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 使用的匹配条件。

timeout
int

设置操作的服务器端超时时间(以秒为单位)。 有关详细信息,请参阅 https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations 。 不会在客户端上跟踪或验证此值。 若要配置客户端网络超时,请参阅 此处

返回类型

break_lease

如果文件系统或文件具有活动租约,则中断租约。

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

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。 指定此标头,以便仅在指定的日期/时间后未修改资源时才执行操作。

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 格式不正确,DataLake 服务将返回 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 使用的匹配条件。

timeout
int

设置操作的服务器端超时时间(以秒为单位)。 有关详细信息,请参阅 https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations 。 不会在客户端上跟踪或验证此值。 若要配置客户端网络超时,请参阅 此处

返回

release

释放租约。

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

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 使用的匹配条件。

timeout
int

设置操作的服务器端超时时间(以秒为单位)。 有关详细信息,请参阅 https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations 。 不会在客户端上跟踪或验证此值。 若要配置客户端网络超时,请参阅 此处

返回

renew

续订租约。

如果租约客户端中指定的租约 ID 与文件系统或文件关联的 ID 匹配,则可以续订租约。 请注意,只要文件系统或文件自该租约到期后未再次租用,租约仍可续订,即使该租约已过期。 在续订租约时,将重置租约持续时间时钟。

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 上使用的匹配条件。

timeout
int

设置操作的服务器端超时(以秒为单位)。 有关详细信息,请参阅 https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations 。 不会在客户端上跟踪或验证此值。 若要配置客户端网络超时,请参阅 此处

返回