목록 핸들

작업은 List Handles 디렉터리 또는 파일의 열린 핸들 목록을 반환합니다. 필요에 따라 디렉터리 및 파일에서 열린 핸들을 재귀적으로 열거할 수 있습니다. 이 API는 버전 2018-11-09부터 사용할 수 있습니다.

프로토콜 가용성

활성화된 파일 공유 프로토콜 사용 가능
SMB Yes
NFS 아니요

요청

다음과 같이 요청을 생성할 List Handles 수 있습니다. HTTPS를 사용하는 것이 좋습니다.

메서드 요청 URI HTTP 버전
GET https://myaccount.file.core.windows.net/myshare/mydirectorypath/myfileordirectory?comp=listhandles HTTP/1.1

다음과 같이 요청 URI에 표시된 경로 구성 요소를 사용자 경로 구성 요소로 바꿉니다.

경로 구성 요소 Description
myaccount 사용자 스토리지 계정의 이름입니다.
myshare 파일 공유 이름입니다.
mydirectorypath 선택 사항입니다. 디렉터리 경로입니다.
myfileordirectory 파일 또는 디렉터리의 이름입니다.

경로 명명 제한에 대한 자세한 내용은 공유, 디렉터리, 파일 및 메타데이터 명명 및 참조를 참조하세요.

URI 매개 변수

URI에 다음과 같은 추가 매개 변수를 지정할 수 있습니다.

매개 변수 Description
marker 선택 사항입니다. 다음 List Handles 작업과 함께 반환할 목록의 부분을 식별하는 문자열 값입니다. 반환된 목록이 완료되지 않은 경우 작업은 응답 본문 내에서 표식 값을 반환합니다. 그런 다음, 후속 호출에서 표식 값을 사용하여 다음 목록 항목 집합을 요청할 수 있습니다.

마커 값은 클라이언트에 불투명합니다.
maxresults 선택 사항입니다. 반환할 파일 또는 디렉터리에서 수행되는 최대 핸들 수를 지정합니다.

0 이하로 maxresults를 설정하면 오류 응답 코드 400(잘못된 요청)를 반환합니다.
timeout 선택 사항입니다. timeout 매개 변수는 초 단위로 표시됩니다. 자세한 내용은 Azure Files 작업에 대한 시간 제한 설정을 참조하세요.
sharesnapshot 선택 사항입니다. 매개 변수는 sharesnapshot 불투명 DateTime 값으로, 있는 경우 핸들 목록을 쿼리할 공유 스냅샷 지정합니다.

요청 헤더

다음 표에서는 필수 요청 헤더와 선택적 요청 헤더에 대해 설명합니다.

요청 헤더 Description
Authorization 필수 사항입니다. 권한 부여 체계, 계정 이름 및 서명을 지정합니다. 자세한 내용은 Azure Storage에 대한 요청 권한 부여를 참조하세요.
Date 또는 x-ms-date 필수 사항입니다. 요청에 대한 UTC(협정 세계시)를 지정합니다. 자세한 내용은 Azure Storage에 대한 요청 권한 부여를 참조하세요.
x-ms-version 모든 권한 있는 요청에 필요하며 익명 요청의 경우 선택 사항입니다. 이 요청에 사용할 작업의 버전을 지정합니다. 자세한 내용은 Azure Storage 서비스에 대한 버전 관리를 참조하세요.
x-ms-client-request-id 선택 사항입니다. 로깅이 구성될 때 로그에 기록되는 1키비바이트(KiB) 문자 제한을 사용하여 클라이언트에서 생성된 불투명 값을 제공합니다. 이 헤더를 사용하여 클라이언트 쪽 활동과 서버가 수신하는 요청의 상관 관계를 지정하는 것이 좋습니다. 자세한 내용은 Azure Files 모니터링을 참조하세요.
x-ms-recursive 선택 사항입니다. 작업이 URI에 지정된 디렉터리의 파일 및 하위 디렉터리에도 적용되는지 여부를 지정하는 부울 값입니다.
x-ms-file-request-intent 헤더가 OAuth 토큰을 지정하는 경우 Authorization 필요합니다. 허용되는 값은 입니다 backup. 이 헤더는 헤더를 Microsoft.Storage/storageAccounts/fileServices/readFileBackupSemantics/action 사용하여 Authorization 권한이 부여된 ID에 할당된 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 프로토콜 사양을 준수합니다.

응답 헤더 Description
Content-Type 결과가 반환될 형식을 지정합니다. 현재 이 값은 application/xml입니다.
x-ms-request-id 이 헤더는 만들어진 요청을 고유하게 식별하며 요청 문제 해결에 사용할 수 있습니다. 자세한 내용은 API 작업 문제 해결을 참조하세요.
x-ms-version 요청을 실행하는 데 사용되는 Azure Files 버전을 나타냅니다.
Date 응답이 시작된 시간을 나타내는 UTC 날짜/시간 값입니다. 서비스는 이 값을 생성합니다.
x-ms-client-request-id 이 헤더를 사용하여 요청 및 해당 응답 문제를 해결할 수 있습니다. 이 헤더의 값은 요청에 있는 경우 헤더 값 x-ms-client-request-id 과 같습니다. 값은 최대 1024자 표시 ASCII 문자입니다. 헤더가 x-ms-client-request-id 요청에 없는 경우 이 헤더는 응답에 존재하지 않습니다.

응답 본문

XML 응답의 형식은 다음과 같습니다. Marker, ShareSnapshotMaxResults 요소는 요청 URI에 지정한 경우에만 존재합니다. 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>

다음 표에서는 응답 본문의 필드를 설명합니다.

필드 Description 목적
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 에서는 XML에서 잘못된 문자를 포함하는 모든 Path 요소 값(특히 U+FFFE 또는 U+FFFF)을 백분율로 인코딩합니다(RFC 2396당). 인코딩된 경우 요소에 Path 특성이 Encoded=true 포함됩니다. 이는 응답의 Path 나머지 요소가 아니라 XML에서 유효하지 않은 문자를 포함하는 요소 값에 대해서만 발생합니다 Path .

권한 부여

계정 소유자만 이 작업을 호출할 수 있습니다.

설명

HandleId 클라이언트 핸들 ID와 구별되는 서비스 쪽 핸들 ID입니다. 클라이언트에서 둘 사이의 매핑이 가능합니다.

추가 정보