你当前正在访问 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 存储的请求。
Datex-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/actionMicrosoft.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 上指定 MarkerShareSnapshotMaxResults 元素时才存在。 仅当列表结果未完成时,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。 两者之间的映射在客户端上是可能的。

另请参阅

  • 对文件
  • 目录上的