你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
列表句柄
该 List Handles
操作返回目录或文件上打开的句柄列表。 (可选)它可以递归枚举目录和文件上打开的句柄。 此 API 从版本 2018-11-09 开始提供。
协议可用性
已启用文件共享协议 | 可用 |
---|---|
SMB | |
NFS |
请求
可以按如下所示构造 List Handles
请求。 建议使用 HTTPS。
方法 | 请求 URI | HTTP 版本 |
---|---|---|
GET |
https://myaccount.file.core.windows.net/myshare/mydirectorypath/myfileordirectory?comp=listhandles |
HTTP/1.1 |
将请求 URI 中所示的路径组件替换为你自己的组件,如下所示:
路径组件 | 说明 |
---|---|
myaccount |
存储帐户的名称。 |
myshare |
文件共享的名称。 |
mydirectorypath |
可选。 目录的路径。 |
myfileordirectory |
文件或目录的名称。 |
有关路径命名限制的详细信息,请参阅 命名和引用共享、目录、文件和元数据。
URI 参数
可以在 URI 上指定以下附加参数。
参数 | 说明 |
---|---|
marker |
可选。 一个字符串值,该值标识要通过下一个 List Handles 操作返回的列表部分。 如果返回的列表未完成,则操作在响应正文中返回标记值。 然后,可以在后续调用中使用标记值来请求下一组列表项。标记值对客户端不透明。 |
maxresults |
可选。 指定要返回的文件或目录上的最大句柄数。 将 maxresults 设置为小于等于零的值会导致出现错误响应代码 400(错误请求)。 |
timeout |
可选。
timeout 参数以秒表示。 有关详细信息,请参阅设置Azure 文件存储操作的超时。 |
sharesnapshot |
可选。 参数sharesnapshot 是一个不透明的DateTime 值,如果存在,则指定用于查询句柄列表的共享快照。 |
请求标头
下表介绍必需的和可选的请求标头。
请求标头 | 说明 |
---|---|
Authorization |
必需。 指定授权方案、帐户名称和签名。 有关详细信息,请参阅授权对 Azure 存储的请求。 |
Date 或 x-ms-date |
必需。 指定请求的协调世界时 (UTC)。 有关详细信息,请参阅授权对 Azure 存储的请求。 |
x-ms-version |
对于所有已授权的请求是必需的,对于匿名请求是可选的。 指定用于此请求的操作的版本。 有关详细信息,请参阅 Azure 存储服务的版本控制。 |
x-ms-client-request-id |
可选。 提供客户端生成的不透明值,其中包含 1-kibite (KiB) 配置日志记录时记录在日志中的字符限制。 强烈建议使用此标头将客户端活动与服务器接收的请求相关联。 有关详细信息,请参阅监视Azure 文件存储。 |
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 协议规范。
响应标头 | 说明 |
---|---|
Content-Type |
指定返回的结果所采用的格式。 目前,此值为 application/xml 。 |
x-ms-request-id |
此标头唯一标识发出的请求,可用于对请求进行故障排除。 有关详细信息,请参阅 API 操作故障排除。 |
x-ms-version |
指示用于运行请求Azure 文件存储的版本。 |
Date |
指示启动响应的时间的 UTC 日期/时间值。 服务生成此值。 |
x-ms-client-request-id |
可以使用此标头对请求和相应的响应进行故障排除。 如果请求中存在,则此标头的值等于 标头的值 x-ms-client-request-id 。 该值最多为 1024 个可见 ASCII 字符。
x-ms-client-request-id 如果请求中不存在标头,则响应中不会显示此标头。 |
响应正文
XML 响应的格式如下所示。 请注意,Marker
ShareSnapshot
仅当在请求 URI 上指定了 、 和 MaxResults
元素时才存在。
NextMarker
仅当列表结果不完整时, 元素才具有值。
<?xml version="1.0" encoding="utf-8"?>
<EnumerationResults>
<HandleList>
<Handle>
<HandleId>handle-id</HandleId>
<Path>file-or-directory-name-including-full-path</Path>
<FileId>file-id</FileId>
<ParentId>parent-file-id</ParentId>
<SessionId>session-id</SessionId>
<ClientIp>client-ip</ClientIp>
<OpenTime>opened-time</OpenTime>
<LastReconnectTime>lastreconnect-time</LastReconnectTime>
<AccessRightList>
<AccessRight>Read</AccessRight>
<AccessRight>Write</AccessRight>
<AccessRight>Delete</AccessRight>
</AccessRightList>
</Handle>
...
</HandleList>
<NextMarker>next-marker</NextMarker>
</EnumerationResults>
下表描述了响应正文的字段:
字段 | 说明 | 目的 |
---|---|---|
HandleId |
XSMB 服务句柄 ID,UINT64。 | 用于标识句柄。 |
Path |
文件名,包括从共享根目录开始的完整路径。 字符串。 | 用于标识打开句柄的对象的名称。 |
ClientIp |
打开句柄的客户端 IP。 字符串。 | 用于确定句柄是否已泄漏。 |
OpenTime |
已 (UTC) 打开时间句柄。
DateTime 作为字符串。 |
用于确定句柄是否已泄漏。 泄漏的句柄通常已打开很长时间。 |
LastReconnectTime |
已 (UTC) 打开时间句柄。
DateTime 作为字符串。 |
用于确定由于网络或其他故障而导致客户端/服务器断开连接后是否重新打开句柄。 仅当发生断开连接事件且重新打开句柄时,该字段才会包含在响应正文中。 |
FileId |
文件 ID,UINT64。 |
FileId 唯一标识文件。 它在重命名期间很有用,因为 FileId 不会更改。 |
ParentId |
父文件 ID,UINT64。 |
ParentId 唯一标识目录。 这在重命名期间很有用,因为 ParentId 不会更改。 |
SessionId |
SMB 会话 ID,指定在其中打开文件句柄的上下文。 UINT64。 |
SessionId 当会话被强行断开连接时,包含在事件查看器日志中。 它允许将特定批次的泄漏句柄与特定网络事件相关联。 |
AccessRightList |
授予对文件或目录的打开句柄的访问权限。 | 在服务版本 2023-01-03 及更高版本中可用。 用于查询各种打开句柄对文件或目录保留的访问权限。 可能的值为 READ、WRITE 和 DELETE,或这些值的组合。 |
NextMarker |
描述要列出的下一个句柄的字符串。 当需要列出更多句柄才能完成请求时,将返回它。 | 字符串用于后续请求以列出剩余句柄。 缺少 表示 NextMarker 已列出所有相关句柄。 |
在 2021-12-02 及更高版本中, List Handles
将按 RFC 2396) 包含 XML (、U+FFFE 或 U+FFFF) 中无效字符的所有 Path
元素值进行百分比 (编码。 如果已编码,元素 Path
将包含一个 Encoded=true
属性。 请注意,仅针对包含 XML 中无效字符的 Path
元素值,而不适用于响应中的剩余 Path
元素。
授权
只有帐户所有者才能调用此操作。
备注
HandleId
是服务端句柄 ID,不同于客户端句柄 ID。 两者之间的映射可以在客户端上实现。