你当前正在访问 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 存储的请求。 |
Date 或 x-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/action Microsoft.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 或应用程序维护的相应客户端句柄。