你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
列出目录和文件
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 中显示的路径组件替换为你自己的路径组件,如下所示:
路径组件 | 描述 |
---|---|
myaccount |
存储帐户的名称。 |
myshare |
文件共享的名称。 |
mydirectorypath |
目录的路径。 |
有关路径命名限制的详细信息,请参阅 命名和引用共享、目录、文件和元数据。
URI 参数
可以在 URI 上指定以下附加参数。
常见 URI 参数
参数 | 描述 |
---|---|
prefix |
自选。 版本 2016-05-31 及更高版本。 筛选结果以仅返回名称以指定前缀开头的文件和目录。 |
sharesnapshot |
自选。 版本 2017-04-17 及更高版本。 共享快照参数是一个不透明的 DateTime 值,如果存在,请指定要查询文件和目录列表的共享快照。 |
marker |
自选。 一个字符串值,该值标识要在下一个列表作中返回的列表部分。 如果返回的列表未完成,该作将返回响应正文中的标记值。 然后,可以在后续调用中使用标记值来请求下一组列表项。 标记值对客户端不透明。 |
maxresults |
自选。 指定要返回的最大文件或目录数。 如果请求未指定 maxresults ,或指定大于 5,000 的值,则服务器最多返回 5,000 个项目。将 maxresults 设置为小于或等于零的值会导致错误响应代码 400(错误请求)。 |
timeout |
自选。
timeout 参数以秒为单位表示。 有关详细信息,请参阅 设置 Azure 文件存储作的超时。 |
仅限 SMB 的 URI 参数
参数 | 描述 |
---|---|
include={Timestamps, ETag, Attributes, PermissionKey} |
(可选)从版本 2020-04-08 开始可用。 指定要包含在响应中的一个或多个属性:
若要在 URI 上指定多个选项,必须使用 URL 编码的逗号( %82 )分隔每个选项。指定此参数时,隐式假定标头 x-ms-file-extended-info 为 true。 |
仅限 NFS 的 URI 参数
没有。
请求标头
下表描述了必需和可选的请求标头:
常见请求标头
请求标头 | 描述 |
---|---|
Authorization |
必填。 指定授权方案、帐户名称和签名。 有关详细信息,请参阅 授权对 Azure 存储的请求。 |
Date 或 x-ms-date |
必填。 指定请求的协调世界时(UTC)。 有关详细信息,请参阅 授权对 Azure 存储的请求。 |
x-ms-version |
所有授权请求都是必需的。 指定要用于此请求的作的版本。 在版本 2025-05-05 及更高版本中支持此作,以启用 NFS 协议的文件共享。 有关详细信息,请参阅 azure 存储服务 版本控制。 |
x-ms-client-request-id |
自选。 提供客户端生成的不透明值,该值具有配置日志记录时日志中记录的 1-kibibyte (KiB) 字符限制。 强烈建议使用此标头将客户端活动与服务器接收的请求相关联。 有关详细信息,请参阅 监视 Azure 文件。 |
x-ms-file-request-intent |
如果需要 Authorization 标头指定 OAuth 令牌。 可接受的值为 backup 。 此标头指定,如果 Microsoft.Storage/storageAccounts/fileServices/readFileBackupSemantics/action 或 Microsoft.Storage/storageAccounts/fileServices/writeFileBackupSemantics/action 包含在分配给使用 Authorization 标头授权的标识的 RBAC 策略中,则应授予 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 文件的版本。 |
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 响应的格式如下所示。
仅当在请求 URI 上指定 Marker
、ShareSnapshot
和 MaxResults
元素时才存在。 仅当列表结果未完成时,NextMarker
元素才具有值。
Content-Length
元素在文件列表中返回,指示文件的大小。 但是,此值可能不会 up-to-date,因为 SMB 或 NFS 客户端可能在本地修改了该文件。 在句柄关闭或 SMB作锁断开之前,Content-Length
的值可能不会反映该事实。 若要检索当前属性值,请对启用了 SMB 协议的文件共享上的目录使用 x-ms-file-extended-info: true
,或者针对特定文件调用 获取文件属性。
在版本 2021-12-02 及更新版本中,List Directory and Files
将按 RFC 2396 进行百分比编码(每个 RFC 2396)所有 File
Name
、Directory
Name
、Prefix
或 DirectoryPath
元素值,这些元素值在 XML(具体而言,U+FFFE 或 U+FFFF)中包含无效字符。 如果编码,则 Name
、Prefix
或 EnumerationResults
元素将包含 Encoded=true
属性。 这仅适用于包含 XML 中无效字符的 Name
元素值,而不是响应中的其余 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
、LastAccessTime
和 LastWriteTime
。 在版本 2020-06-12
及更高版本中,include={timestamps}
返回以下时间戳属性:CreationTime
、LastAccessTime
、LastWriteTime
、ChangeTime
和 Last-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
的后续调用。
另请参阅
目录上的 作