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

强制关闭句柄

Force Close Handles 操作关闭在目录或文件上打开的句柄或句柄。 它支持关闭文件或目录上的句柄 ID 指定的单个句柄。 它还支持关闭在该资源上打开的所有句柄。 当资源是目录时,它可以选择性地支持以递归方式关闭子资源上的句柄。

可以将此操作与 列表句柄 一起使用,以强制关闭阻止操作的句柄,例如重命名目录。 SMB 客户端可能已泄漏或丢失这些句柄的跟踪。 该操作对要关闭的句柄具有客户端影响,包括由于读取或写入文件尝试失败而导致的用户可见错误。 此操作不用作关闭 SMB 会话的替代或替代方法。

此操作在版本 2018-11-09 及更高版本中可用。

协议可用性

已启用文件共享协议 可用
SMB 是
NFS 否

请求

可以按如下所示构造 Force Close Handles 请求。 建议使用 HTTPS。

方法 请求 URI HTTP 版本
PUT https://myaccount.file.core.windows.net/myshare/mydirectorypath/myfileordirectory?comp=forceclosehandles HTTP/1.1

将请求 URI 中所示的路径组件替换为你自己的组件,如下所示:

路径组件 说明
myaccount 存储帐户的名称。
myshare 文件共享的名称。
mydirectorypath 可选。 目录的路径。
myfileordirectory 文件或目录的名称。

有关路径命名限制的详细信息,请参阅 命名和引用共享、目录、文件和元数据

URI 参数

可以在 URI 上指定以下附加参数:

参数 说明
timeout 可选。 以秒为单位表示。 有关详细信息,请参阅 设置文件服务操作的超时
marker 可选。 一个字符串值,用于标识将在下一个 Force Close Handles 操作中关闭的句柄的位置。 如果有更多句柄要关闭,则操作在响应正文中返回标记值。 然后,标记值可以在后续调用中使用,以关闭下一组句柄。

标记值对客户端不透明。
sharesnapshot 可选。 不透明的日期/时间值。 如果存在,则指定用于查询句柄列表的共享快照。

请求标头

下表介绍了必需请求标头和可选请求标头:

请求标头 说明
Authorization 必需。 指定授权方案、帐户名称和签名。 有关详细信息,请参阅授权对 Azure 存储的请求
Datex-ms-date 必需。 指定请求的协调世界时 (UTC)。 有关详细信息,请参阅授权对 Azure 存储的请求
x-ms-version 对于所有授权请求是必需的,但对于匿名请求是可选的。 指定用于此请求的操作的版本。 有关详细信息,请参阅 Azure 存储服务的版本控制
x-ms-client-request-id 可选。 提供客户端生成的不透明值,其中包含 1-kiB (KiB) 配置日志记录时记录在日志中的字符限制。 强烈建议使用此标头将客户端活动与服务器接收的请求相关联。
x-ms-handle-id 必需。 指定要关闭的句柄 ID。 使用星号 (*) 作为通配符字符串来指定所有句柄。
x-ms-recursive 可选。 一个布尔值,指定操作是否还应应用于 URI 中指定的目录的文件和子目录。
x-ms-file-request-intent 如果 Authorization 标头指定 OAuth 令牌,则为必需。 可接受的值为 backup。 此标头指定Microsoft.Storage/storageAccounts/fileServices/readFileBackupSemantics/actionMicrosoft.Storage/storageAccounts/fileServices/writeFileBackupSemantics/action,如果 或 包含在分配给使用 标头授权的标识的 RBAC 策略中,则应授予 或Authorization。 适用于版本 2022-11-02 及更高版本。
x-ms-allow-trailing-dot: { <Boolean> } 可选。 版本 2022-11-02 及更高版本。 布尔值指定是否应剪裁请求 URL 中存在的尾随点。 有关详细信息,请参阅 命名和引用共享、目录、文件和元数据

请求正文

无。

响应

响应包括 HTTP 状态代码、一组响应标头以及采用 XML 格式的响应正文。

状态代码

此操作成功后返回状态代码 200(正常)。

有关状态代码的信息,请参阅 状态和错误代码

响应标头

此操作的响应包括以下标头。 响应可能还包括其他标准 HTTP 标头。 所有标准标头都符合 HTTP/1.1 协议规范

响应标头 说明
x-ms-request-id 唯一标识发出的请求。 可以使用它对请求进行故障排除。 有关详细信息,请参阅 API 操作疑难解答
x-ms-version 指示用于执行请求的Azure 文件存储的版本。
Date 一个 UTC 日期/时间值,该值指示服务发送响应的时间。
x-ms-marker 描述要关闭的下一个句柄。 需要关闭更多句柄才能完成请求时,将返回此字符串。 字符串在后续请求中用于强制关闭剩余句柄。 缺少 x-ms-marker 表示所有相关句柄都已关闭。
x-ms-number-of-handles-closed 指示关闭的句柄数。
x-ms-number-of-handles-failed 指示未能关闭的句柄数。
x-ms-client-request-id 可用于对请求和相应的响应进行故障排除。 如果请求中存在此标头的值 x-ms-client-request-id 并且该值最多为 1,024 个可见 ASCII 字符,则此标头的值等于标头的值。 x-ms-client-request-id如果请求中不存在标头,则响应中不会显示此标头。

响应正文

空白。

授权

只有帐户所有者才能调用此操作。

注解

例如,如果在处理请求期间未关闭句柄 (,则提供的 x-ms-handle-id 值指定无效句柄,或者在提供的文件或目录中找不到打开的句柄,) 你将使用 获得 200 (正常) 状态响应 x-ms-number-of-handles-closed=0

标头 x-ms-recursive 仅对目录有效。 如果为文件指定它,将收到 400 (错误的请求) 响应。

强制关闭打开的 FILE_FLAG_DELETE_ON_CLOSE 句柄可能不会删除文件。

列表句柄 返回 x-ms-handle-id 服务端句柄 ID。 此句柄 ID 不同于 SMB 或应用程序维护的相应客户端句柄。

另请参阅