목록 핸들
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 0보다 작거나 같은 값으로 설정하면 오류 응답 코드 400(잘못된 요청)이 발생합니다. |
timeout |
선택적.
timeout 매개 변수는 초 단위로 표현됩니다. 자세한 내용은 Azure Files 작업대한 시간 제한 설정을 참조하세요. |
sharesnapshot |
선택적.
sharesnapshot 매개 변수는 있는 경우 핸들 목록을 쿼리할 공유 스냅샷을 지정하는 불투명한 DateTime 값입니다. |
요청 헤더
다음 표에서는 필수 및 선택적 요청 헤더에 대해 설명합니다.
요청 헤더 | 묘사 |
---|---|
Authorization |
필수. 권한 부여 체계, 계정 이름 및 서명을 지정합니다. 자세한 내용은 Azure Storage대한 요청 권한 부여를 참조하세요. |
Date 또는 x-ms-date |
필수. 요청에 대한 UTC(협정 세계시)를 지정합니다. 자세한 내용은 Azure Storage대한 요청 권한 부여를 참조하세요. |
x-ms-version |
모든 권한 있는 요청에 필요하며, 익명 요청의 경우 선택 사항입니다. 이 요청에 사용할 작업의 버전을 지정합니다. 자세한 내용은 Azure Storage 서비스 대한버전 관리를 참조하세요. |
x-ms-client-request-id |
선택적. 로깅이 구성될 때 로그에 기록되는 1kibibyte(KiB) 문자 제한으로 클라이언트에서 생성된 불투명 값을 제공합니다. 이 헤더를 사용하여 클라이언트 쪽 활동과 서버가 수신하는 요청의 상관 관계를 지정하는 것이 좋습니다. 자세한 내용은 Azure Files모니터링을 참조하세요. |
x-ms-recursive |
선택적. 작업이 URI에 지정된 디렉터리의 파일 및 하위 디렉터리에도 적용되어야 하는지 여부를 지정하는 부울 값입니다. |
x-ms-file-request-intent |
Authorization 헤더가 OAuth 토큰을 지정하는 경우 필수입니다. 허용되는 값은 backup . 이 헤더는 Authorization 헤더를 사용하여 권한이 부여된 ID에 할당된 RBAC 정책에 포함된 경우 Microsoft.Storage/storageAccounts/fileServices/readFileBackupSemantics/action 또는 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 Files의 버전을 나타냅니다. |
Date |
응답이 시작된 시간을 나타내는 UTC 날짜/시간 값입니다. 서비스에서 이 값을 생성합니다. |
x-ms-client-request-id |
이 헤더를 사용하여 요청 및 해당 응답 문제를 해결할 수 있습니다. 이 헤더의 값은 요청에 있는 경우 x-ms-client-request-id 헤더의 값과 같습니다. 값은 최대 1024개 표시 ASCII 문자입니다. 요청에 x-ms-client-request-id 헤더가 없으면 이 헤더가 응답에 표시되지 않습니다. |
응답 본문
XML 응답의 형식은 다음과 같습니다.
Marker
, ShareSnapshot
및 MaxResults
요소는 요청 URI에 지정한 경우에만 존재합니다.
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
XML(특히 U+FFFE 또는 U+FFFF)에서 잘못된 문자를 포함하는 모든 Path
요소 값을 RFC 2396당 백분율로 인코딩합니다. 인코딩된 경우 Path
요소에는 Encoded=true
특성이 포함됩니다. 이는 응답의 나머지 Path
요소가 아니라 XML에서 잘못된 문자를 포함하는 Path
요소 값에 대해서만 발생합니다.
ClientName
버전 2024-02-04 이상에서 지원됩니다.
권한 부여
계정 소유자만 이 작업을 호출할 수 있습니다.
발언
HandleId
클라이언트 핸들 ID와 구별되는 서비스 쪽 핸들 ID입니다. 클라이언트에서 둘 사이의 매핑이 가능합니다.