你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
列出句柄
List Handles
作返回目录或文件上打开的句柄列表。 (可选)它可以以递归方式枚举目录和文件上打开的句柄。 此 API 从版本 2018-11-09 开始提供。
协议可用性
已启用文件共享协议 | 可用 |
---|---|
SMB |
![]() |
NFS |
![]() |
请求
List Handles
请求构造如下。 建议使用 HTTPS。
方法 | 请求 URI | HTTP 版本 |
---|---|---|
获取 | 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-kibibyte (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 包含在分配给使用 Authorization 标头授权的标识的 RBAC 策略中,则应授予 Microsoft.Storage/storageAccounts/fileServices/writeFileBackupSemantics/action 。 适用于版本 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 响应的格式如下所示。 请注意,仅当在请求 URI 上指定 Marker
、ShareSnapshot
和 MaxResults
元素时才存在。 仅当列表结果未完成时,NextMarker
元素才具有值。
响应中的 ClientName
字段是可选的,仅在服务可用时才返回。
<?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>
<ClientName>client-name</ClientName>
<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。 字符串。 | 用于确定句柄是否泄漏。 |
ClientName |
可选字段。 在 2024-02-04 及更高版本中受支持。 打开句柄的客户端名称(工作站或 OS 用户名)。 字符串。 | 用于确定句柄是否泄漏。 |
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 进行百分比编码(每个 RFC 2396)都 Path
元素值,这些元素值在 XML(特别是 U+FFFE 或 U+FFFF)中包含无效字符。 如果编码,Path
元素将包含 Encoded=true
属性。 请注意,这仅适用于包含 XML 中无效字符的 Path
元素值,而不是响应中的其余 Path
元素。
版本 2024-02-04 及更高版本中支持 ClientName
。
授权
只有帐户所有者才能调用此作。
言论
HandleId
是与客户端句柄 ID 不同的服务端句柄 ID。 两者之间的映射在客户端上是可能的。
另请参阅
- 对文件 作
- 目录上的 作