다음을 통해 공유


디렉터리 및 파일 나열

List Directories and Files 작업에서는 지정된 공유 또는 디렉터리 아래 파일 또는 디렉터리 목록을 반환합니다. 단일 수준의 디렉터리 계층 구조에 대한 콘텐츠만 나열합니다.

프로토콜 가용성

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

요청

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

메서드 요청 URI HTTP 버전
GET https://myaccount.file.core.windows.net/myshare/mydirectorypath?restype=directory&comp=list HTTP/1.1
GET https://myaccount.file.core.windows.net/myshare/mydirectorypath?restype=directory&sharesnapshot=<DateTime>&comp=list HTTP/1.1

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

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

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

URI 매개 변수

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

매개 변수 Description
prefix (선택 사항) 버전 2016-05-31 이상. 지정된 접두사로 시작하는 이름이 있는 파일 및 디렉터리만 반환하도록 결과를 필터링합니다.
sharesnapshot (선택 사항) 버전 2017-04-17 이상. share 스냅샷 매개 변수는 파일 및 디렉터리 목록을 쿼리할 공유 스냅샷 지정하는 불투명 DateTime 값입니다.
marker (선택 사항) 다음 목록 작업으로 반환할 목록 부분을 식별하는 문자열 값입니다. 반환된 목록이 완료되지 않은 경우 작업은 응답 본문 내에서 표식 값을 반환합니다. 그런 다음 후속 호출에서 표식 값을 사용하여 다음 목록 항목 집합을 요청할 수 있습니다.

마커 값은 클라이언트에 불투명합니다.
maxresults (선택 사항) 반환할 최대 파일 또는 디렉터리 수를 지정합니다. 요청이 를 지정 maxresults하지 않거나 5,000보다 큰 값을 지정하는 경우 서버는 최대 5,000개의 항목을 반환합니다.

0 이하로 maxresults를 설정하면 오류 응답 코드 400(잘못된 요청)를 반환합니다.
include={Timestamps, ETag, Attributes, PermissionKey} 필요에 따라 버전 2020-04-08부터 사용할 수 있습니다. 응답에 포함할 하나 이상의 속성을 지정합니다.
  • Timestamps
  • ETag
  • Attributes (Win32 파일 특성)
  • PermissionKey

URI에서 이러한 옵션 중 하나 이상을 지정하려면 각 옵션을 URL로 인코딩된 쉼표(%82)로 구분해야 합니다.

이 매개 변수를 지정할 때 헤더 x-ms-file-extended-info 는 암시적으로 true로 간주됩니다.
timeout (선택 사항) timeout 매개 변수는 초 단위로 표시됩니다. 자세한 내용은 Azure Files 작업에 대한 시간 제한 설정을 참조하세요.

요청 헤더

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

요청 헤더 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-file-extended-info: {true} (선택 사항) 버전 2020-04-08 이상. 쿼리 매개 변수가 비어 있지 않으면 이 헤더는 include 암시적으로 true로 간주됩니다. true이면 속성이 Content-Length 최신 상태입니다. 버전 2020-04-08, 2020-06-12 및 2020-08-04 FileId 에서는 이 헤더가 true인 경우에만 파일 및 디렉터리에 대해 반환됩니다. 버전 2020-10-02 이상 FileId 에서는 항상 파일 및 디렉터리에 대해 이 반환됩니다.
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 또는 x-ms-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 ServiceEndpoint="https://myaccount.file.core.windows.net/" ShareName="myshare" ShareSnapshot="date-time" DirectoryPath="directory-path">  
  <Marker>string-value</Marker>
  <Prefix>string-value</Prefix>
  <MaxResults>int-value</MaxResults>
  <DirectoryId>directory-id</DirectoryId>
  <Entries>
    <File>
      <FileId>file-id</FileId>
      <Name>file-name</Name>  
      <Properties>  
        <Content-Length>size-in-bytes</Content-Length>
        <CreationTime>datetime</CreationTime>
        <LastAccessTime>datetime</LastAccessTime>
        <LastWriteTime>datetime</LastWriteTime>
        <ChangeTime>datetime</ChangeTime>
        <Last-Modified>datetime</Last-Modified>
        <Etag>etag</Etag>
      </Properties>
      <Attributes>Archive | Hidden | Offline | ReadOnly</Attributes>
      <PermissionKey>4066528134148476695*1</PermissionKey>
    </File>  
    <Directory>
      <FileId>file-id</FileId>
      <Name>directory-name</Name>  
      <Properties>
        <CreationTime>datetime</CreationTime>
        <LastAccessTime>datetime</LastAccessTime>
        <LastWriteTime>datetime</LastWriteTime>
        <ChangeTime>datetime</ChangeTime>
        <Last-Modified>datetime</Last-Modified>
        <Etag>etag</Etag>
      </Properties>
      <Attributes>Archive | Hidden | Offline | ReadOnly</Attributes>
      <PermissionKey>4066528134148476695*1</PermissionKey>
    </Directory>  
  </Entries>  
  <NextMarker />  
</EnumerationResults>  

Content-Length 요소가 목록에 반환됩니다. 그러나 SMB 클라이언트가 파일을 로컬로 수정했을 수 있으므로 이 값은 최신이 아닐 수 있습니다. 의 값 Content-Length 은 핸들이 닫혀 있거나 op-lock이 손상될 때까지 해당 사실을 반영하지 않을 수 있습니다. 현재 속성 값을 검색하려면 를 사용 x-ms-file-extended-info: true하거나 파일 속성 가져오기를 호출합니다.

버전 2020-04-08, 2020-06-12 및 2020-08-04 FileId 에서는 헤더 x-ms-file-extended-info 가 true인 경우 파일 및 디렉터리에 대해 가 반환됩니다. 버전 2020-10-02 이상 FileId 에서는 항상 파일 및 디렉터리에 대해 이 반환됩니다.

버전 2020-04-08 include={timestamps} 에서는 , LastAccessTimeLastWriteTime타임스탬프 속성을 CreationTime반환합니다. 버전 2020-06-12 이상 include={timestamps} 에서는 , , , ChangeTimeLastAccessTimeLastWriteTimeLast-Modified타임스탬프 속성을 CreationTime반환합니다.

버전 2020-10-02 이상 DirectoryId 에서는 가 응답에 반환됩니다. API가 FileId 호출되는 디렉터리의 를 지정합니다.

버전 2021-12-02 이상 List Directory and Files 에서는 XML에서 잘못된 문자(특히 U+FFFE 또는 U+FFFF)를 포함하는 모든 FileName, DirectoryName또는 PrefixDirectoryPath 요소 값(RFC 2396당)을 백분율로 인코딩합니다. 인코딩된 Name경우 , Prefix 또는 EnumerationResults 요소에 특성이 Encoded=true 포함됩니다. 이는 응답의 Name 나머지 요소가 아니라 XML에서 유효하지 않은 문자를 포함하는 요소 값에 대해서만 발생합니다 Name .

타임스탬프 필드의 날짜/시간 형식 및 API 버전

요소 날짜/시간 형식 샘플 값 API 버전
CreationTime ISO 8601 2020-09-17T13:38:03.2740000Z 2020-04-08 이상
LastAccessTime ISO 8601 2020-09-17T13:38:03.2740000Z 2020-04-08 이상
LastWriteTime ISO 8601 2020-09-17T13:38:03.2740000Z 2020-04-08 이상
ChangeTime ISO 8601 2020-09-17T13:38:03.2740000Z 2020-06-12 이상
Last-Modified RFC 1123 Thu, 17 Sep 2020 13:38:07 GMT 2020-06-12 이상

권한 부여

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

설명

요소에서 반환되는 Content-Length 값은 파일 x-ms-content-length 헤더의 값에 해당합니다.

Directory 요소와 마찬가지로 최대 결과 수까지 각 File 요소가 반환됩니다. 파일 및 디렉터리에는 응답 본문에서 어휘로 정렬된 순서로 혼합되어 나열됩니다.

단일 수준의 디렉터리 계층 구조만 나열됩니다. 여러 수준을 나열하려면 반복적인 방식으로 여러 호출을 수행할 수 있습니다. 에 대한 Directory 후속 호출 List Directories and Files에서 한 결과에서 반환된 값을 사용합니다.

추가 정보

디렉터리에 대한 작업