Список каталогов и файлов
Операция List Directories and Files
возвращает список файлов или каталогов в указанной общей папке или каталоге. Он содержит содержимое только для одного уровня иерархии каталогов. Эта операция поддерживается в версии 2025-05-05 и более поздних версий для общих папок с включенным протоколом NFS.
Доступность протокола
Протокол общей папки с включенным доступом | Доступный |
---|---|
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 запроса собственным, следующим образом:
Компонент path | Описание |
---|---|
myaccount |
Имя учетной записи хранения. |
myshare |
Имя общей папки. |
mydirectorypath |
Путь к каталогу. |
Дополнительные сведения об ограничениях именования путей см. в разделе Именование и ссылка на общие папки, каталоги, файлы и метаданные.
Параметры URI
В URI можно указать следующие дополнительные параметры.
Общие параметры URI
Параметр | Описание |
---|---|
prefix |
Необязательный. Версия 2016-05-31 и более поздних версий. Фильтрует результаты, чтобы возвращать только файлы и каталоги с именами, начинающимися с указанного префикса. |
sharesnapshot |
Необязательный. Версия 2017-04-17 и более поздних версий. Параметр моментального снимка общего ресурса — это непрозрачное DateTime значение, указывающее моментальный снимок общего ресурса для запроса списка файлов и каталогов. |
marker |
Необязательный. Строковое значение, определяющее часть списка, возвращаемую с помощью следующей операции списка. Операция возвращает значение маркера в теле ответа, если возвращенный список не был завершен. Затем можно использовать значение маркера в последующем вызове для запроса следующего набора элементов списка. Значение маркера непрозрачно для клиента. |
maxresults |
Необязательный. Указывает максимальное количество возвращаемых файлов или каталогов. Если запрос не указывает maxresults или задает значение, превышающее 5000, сервер возвращает до 5000 элементов.Задание maxresults значением меньше или равно нулю приводит к коду ответа об ошибке 400 (недопустимый запрос). |
timeout |
Необязательный. Параметр timeout выражается в секундах. Дополнительные сведения см. в разделе Настройка времени ожидания операций с файлами Azure. |
Параметры SMB только URI
Параметр | Описание |
---|---|
include={Timestamps, ETag, Attributes, PermissionKey} |
При необходимости доступно начиная с версии 2020-04-08. Указывает одно или несколько свойств для включения в ответ:
Чтобы указать несколько этих параметров в URI, необходимо разделить каждый параметр с запятой ( %82 ).Предполагается, что заголовок x-ms-file-extended-info неявно имеет значение true при указании этого параметра. |
Только параметры URI NFS
Никакой.
Заголовки запросов
Обязательные и необязательные заголовки запросов описаны в следующих таблицах:
Общие заголовки запросов
Заголовок запроса | Описание |
---|---|
Authorization |
Обязательно. Указывает схему авторизации, имя учетной записи и подпись. Дополнительные сведения см. в статье Авторизация запросов к службе хранилища Azure. |
Date или x-ms-date |
Обязательно. Указывает универсальное время (UTC) для запроса. Дополнительные сведения см. в статье Авторизация запросов к службе хранилища Azure. |
x-ms-version |
Требуется для всех авторизованных запросов. Указывает версию операции, используемой для этого запроса. Эта операция поддерживается в версии 2025-05-05 и более поздних версий для общих папок с включенным протоколом NFS. Дополнительные сведения см. в разделе Управление версиями служб хранилища Azure. |
x-ms-client-request-id |
Необязательный. Предоставляет созданное клиентом непрозрачное значение с ограничением символов 1-kibibyte (KiB), записанным в журналах при настройке ведения журнала. Настоятельно рекомендуется использовать этот заголовок для сопоставления действий на стороне клиента с запросами, получаемыми сервером. Дополнительные сведения см. в статье Monitor Azure Files. |
x-ms-file-request-intent |
Требуется, если заголовок Authorization указывает токен OAuth. Допустимое значение равно backup . Этот заголовок указывает, что Microsoft.Storage/storageAccounts/fileServices/readFileBackupSemantics/action или Microsoft.Storage/storageAccounts/fileServices/writeFileBackupSemantics/action следует предоставить, если они включены в политику RBAC, назначенную удостоверению, авторизованному с помощью заголовка Authorization . Доступно для версии 2022-11-02 и более поздних версий. |
x-ms-allow-trailing-dot: { <Boolean> } |
Необязательный. Версия 2022-11-02 и более поздних версий. Логическое значение указывает, следует ли обрезать конечную точку в URL-адресе запроса. Этот заголовок игнорируется, если целевой объект находится в общей папке с включенным протоколом NFS, который поддерживает конечную точку по умолчанию. Дополнительные сведения см. в разделе Именование и ссылки на общие папки, каталоги, файлы и метаданные. |
Только заголовки запросов SMB
Заголовок запроса | Описание |
---|---|
x-ms-file-extended-info: {true} |
Необязательный. Версия 2020-04-08 и более поздних версий. Этот заголовок неявно предполагается, что он имеет значение true, если параметр запроса include не пуст. Если значение true, свойство Content-Length для файлов, указывающее, что размер файла будет обновлен. |
Только заголовки запросов NFS
Никакой.
Текст запроса
Никакой.
Ответ
Ответ включает код состояния HTTP, набор заголовков ответов и текст ответа в формате XML.
Код состояния
Успешная операция возвращает код состояния 200 (ОК). Сведения о кодах состояния см. в коды состояния и коды ошибок.
Заголовки ответа
Ответ для этой операции содержит заголовки в следующих таблицах. Ответ также может включать дополнительные стандартные заголовки HTTP. Все стандартные заголовки соответствуют спецификации протокола HTTP/1.1.
Общие заголовки ответов
Заголовки ответов SMB только
Никакой.
Заголовки ответов NFS только
Никакой.
Текст ответа
Формат XML-ответа выглядит следующим образом.
Элементы Marker
, ShareSnapshot
и MaxResults
присутствуют только в том случае, если указать их в URI запроса. Элемент NextMarker
имеет значение, только если результаты списка не завершены.
Элемент Content-Length
возвращается в списке для файлов, указывающий размер файла. Однако это значение может не быть up-to-date, так как клиент SMB или NFS, возможно, изменил файл локально. Значение Content-Length
может не отражать тот факт, пока дескриптор не будет закрыт, или блокировка операции SMB не будет нарушена. Чтобы получить текущие значения свойств, используйте x-ms-file-extended-info: true
для каталога, расположенного в общей папке с включенным протоколом SMB, или вызовите Get File Properties для конкретного файла.
В версиях 2021-12-02 и более поздних версиях List Directory and Files
будет кодировать процент (на RFC 2396) все File
Name
, Directory
Name
, Prefix
или DirectoryPath
значения элементов, которые содержат символы, недопустимые в XML (в частности, U+FFFE или U+FFFF). При кодировании элемент 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
возвращается для файлов и каталогов, если заголовок x-ms-file-extended-info
имеет значение true. В версии 2020-10-02 и более поздних версий FileId
всегда возвращается для файлов и каталогов.
В версии 2020-04-08 include={timestamps}
возвращает следующие свойства метки времени: CreationTime
, LastAccessTime
и LastWriteTime
. В версиях 2020-06-12
и более поздних версиях include={timestamps}
возвращает следующие свойства метки времени: CreationTime
, LastAccessTime
, LastWriteTime
, ChangeTime
и Last-Modified
.
В версии 2020-10-02 и более поздних версий DirectoryId
возвращается в ответе. Он задает FileId
каталога, в котором вызывается API.
Текст ответа для общих папок с включенным протоколом 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>
Формат datetime и версия API для полей метки времени
Элемент | Формат datetime | Пример значения | Версия 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
.