다음을 통해 공유


디렉터리 및 파일 나열

List Directories and Files 작업은 지정된 공유 또는 디렉터리 아래의 파일 또는 디렉터리 목록을 반환합니다. 디렉터리 계층 구조의 단일 수준에 대해서만 콘텐츠를 나열합니다. 이 작업은 NFS 프로토콜이 설정된 파일 공유에 대해 버전 2025-05-05 이상에서 지원됩니다.

프로토콜 가용성

파일 공유 프로토콜 사용 이용할 수 있는
SMB 예
NFS 예

요청

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

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

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

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

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

URI 매개 변수

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

일반적인 URI 매개 변수

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

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

maxresults 0보다 작거나 같은 값으로 설정하면 오류 응답 코드 400(잘못된 요청)이 발생합니다.
timeout 선택적. timeout 매개 변수는 초 단위로 표현됩니다. 자세한 내용은 Azure Files 작업대한 시간 제한 설정을 참조하세요.

SMB 전용 URI 매개 변수

매개 변수 묘사
include={Timestamps, ETag, Attributes, PermissionKey} 필요에 따라 버전 2020-04-08부터 사용할 수 있습니다. 응답에 포함할 하나 이상의 속성을 지정합니다.
  • Timestamps
  • ETag
  • Attributes(Win32 파일 특성)
  • PermissionKey

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

이 매개 변수를 지정하면 헤더 x-ms-file-extended-info 암시적으로 true로 간주됩니다.

NFS 전용 URI 매개 변수

없음.

요청 헤더

필수 및 선택적 요청 헤더는 다음 표에 설명되어 있습니다.

일반적인 요청 헤더

요청 헤더 묘사
Authorization 필수. 권한 부여 체계, 계정 이름 및 서명을 지정합니다. 자세한 내용은 Azure Storage대한 요청 권한 부여를 참조하세요.
Date 또는 x-ms-date 필수. 요청에 대한 UTC(협정 세계시)를 지정합니다. 자세한 내용은 Azure Storage대한 요청 권한 부여를 참조하세요.
x-ms-version 모든 권한 있는 요청에 필요합니다. 이 요청에 사용할 작업의 버전을 지정합니다. 이 작업은 NFS 프로토콜이 설정된 파일 공유에 대해 버전 2025-05-05 이상에서 지원됩니다.

자세한 내용은 Azure Storage 서비스 대한버전 관리를 참조하세요.
x-ms-client-request-id 선택적. 로깅이 구성될 때 로그에 기록되는 1kibibyte(KiB) 문자 제한으로 클라이언트에서 생성된 불투명 값을 제공합니다. 이 헤더를 사용하여 클라이언트 쪽 활동과 서버가 수신하는 요청의 상관 관계를 지정하는 것이 좋습니다. 자세한 내용은 Azure Files모니터링을 참조하세요.
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에 있는 후행 점이 잘려야 하는지 여부를 지정합니다.

대상이 NFS 프로토콜을 사용하도록 설정된 파일 공유에 있는 경우 이 헤더는 무시됩니다. 이 헤더는 기본적으로 후행 점을 지원합니다.

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

SMB 전용 요청 헤더

요청 헤더 묘사
x-ms-file-extended-info: {true} 선택적. 버전 2020-04-08 이상. 이 헤더는 include 쿼리 매개 변수가 비어 있지 않은 경우 암시적으로 true로 간주됩니다. true이면 파일의 크기를 나타내는 파일의 Content-Length 속성이 최신 상태로 유지됩니다.

NFS만 요청 헤더

없음.

요청 본문

없음.

응답

응답에는 HTTP 상태 코드, 응답 헤더 집합 및 XML 형식의 응답 본문이 포함됩니다.

상태 코드

작업이 성공하면 상태 코드 200(확인)이 반환됩니다. 상태 코드에 대한 자세한 내용은 상태 및 오류 코드참조하세요.

응답 헤더

이 작업에 대한 응답에는 다음 표의 헤더가 포함됩니다. 응답에는 추가 표준 HTTP 헤더도 포함될 수 있습니다. 모든 표준 헤더는 HTTP/1.1 프로토콜 사양준수합니다.

일반적인 응답 헤더

응답 헤더 묘사
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 헤더가 없으면 이 헤더가 응답에 표시되지 않습니다.

SMB 전용 응답 헤더

없음.

NFS만 응답 헤더

없음.

응답 본문

XML 응답의 형식은 다음과 같습니다.

Marker, ShareSnapshotMaxResults 요소는 요청 URI에 지정하는 경우에만 존재합니다. NextMarker 요소에는 목록 결과가 완료되지 않은 경우에만 값이 있습니다.

Content-Length 요소는 파일의 크기를 나타내는 파일 목록에 반환됩니다. 그러나 SMB 또는 NFS 클라이언트가 파일을 로컬로 수정했을 수 있으므로 이 값은 up-to않을 수 있습니다. Content-Length 값은 핸들이 닫히거나 SMB 작업 잠금이 끊어질 때까지 해당 사실을 반영하지 않을 수 있습니다. 현재 속성 값을 검색하려면 SMB 프로토콜이 설정된 파일 공유에 있는 디렉터리에 x-ms-file-extended-info: true 사용하거나 특정 파일에 대해 파일 속성 가져오기 호출합니다.

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

SMB 프로토콜을 사용하도록 설정된 파일 공유에 대한 응답 본문

<?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>  

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

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

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

NFS 프로토콜을 사용하도록 설정된 파일 공유에 대한 응답 본문

<?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>
      </Properties>
    </File>
    <Directory>
      <FileId>file-id</FileId>
      <Name>directory-name</Name>
    </Directory>
  </Entries>
  <NextMarker />
</EnumerationResults>

타임스탬프 필드의 날짜/시간 형식 및 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 값을 사용합니다.

참고 항목

디렉터리 작업