你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
列表范围
List Ranges
作返回文件的有效范围列表。 在版本 2025-05-05 及更高版本中支持此作,以启用 NFS 协议的文件共享。
协议可用性
已启用文件共享协议 | 可用 |
---|---|
SMB |
![]() |
NFS |
![]() |
请求
List Ranges
请求构造如下。 建议使用 HTTPS。
方法 | 请求 URI | HTTP 版本 |
---|---|---|
获取 | https://myaccount.file.core.windows.net/myshare/mydirectorypath/myfile?comp=rangelist |
HTTP/1.1 |
获取 | https://myaccount.file.core.windows.net/myshare/mydirectorypath/myfile?sharesnapshot=<DateTime>&comp=rangelist |
HTTP/1.1 |
获取 | https://myaccount.file.core.windows.net/myshare/mydirectorypath/myfile?comp=rangelist&snapshot=<DateTime>&prevsharesnapshot=<DateTime> |
HTTP/1.1 |
获取 | https://myaccount.file.core.windows.net/myshare/mydirectorypath/myfile?comp=rangelist&prevsharesnapshot=<DateTime> |
HTTP/1.1 |
将请求 URI 中显示的路径组件替换为你自己的路径组件,如下所示:
路径组件 | 描述 |
---|---|
myaccount |
存储帐户的名称。 |
myshare |
文件共享的名称。 |
mydirectorypath |
自选。 父目录的路径。 |
myfile |
文件的名称。 |
有关路径命名限制的详细信息,请参阅 命名和引用共享、目录、文件和元数据。
URI 参数
可以在请求 URI 上指定以下附加参数。
参数 | 描述 |
---|---|
sharesnapshot |
自选。 版本 2017-04-17 及更高版本。
sharesnapshot 参数是一个不透明的 DateTime 值,如果存在,则指定要查询文件的共享快照。 |
timeout |
自选。
timeout 参数以秒为单位表示。 有关详细信息,请参阅 设置 Azure 文件存储作的超时。 |
prevsharesnapshot |
版本 2020-02-10 及更高版本中可选。
prevsharesnapshot 参数是一个不透明 DateTime 值,如果存在,则指定以前的快照。当此参数和 sharesnapshot 都存在时,响应将仅包含两个快照之间更改的页面范围。 仅当存在 prevsharesnapshot 时,响应将仅包含在此快照和实时共享之间更改的页面范围。已更改的页面包括已更新的页面和已清除的页面。 |
请求标头
下表描述了必需和可选的请求标头:
常见请求标头
请求标头 | 描述 |
---|---|
Authorization |
必填。 指定授权方案、帐户名称和签名。 有关详细信息,请参阅 授权对 Azure 存储的请求。 |
Date 或 x-ms-date |
必填。 指定请求的协调世界时(UTC)。 有关详细信息,请参阅 授权对 Azure 存储的请求。 |
x-ms-version |
所有授权请求都是必需的。 指定要用于此请求的作的版本。 在版本 2025-05-05 及更高版本中支持此作,以启用 NFS 协议的文件共享。 有关详细信息,请参阅 azure 存储服务 版本控制。 |
Range |
自选。 指定列表范围(含)的字节范围。 如果省略,则返回文件的所有范围。 |
x-ms-range |
自选。 指定列表范围(含)的字节范围。 如果同时指定了 Range 和 x-ms-range 标头,则服务将使用 x-ms-range 的值。 有关详细信息,请参阅 指定 Azure 文件存储作的范围标头。 |
x-ms-lease-id:<ID> |
自选。 版本 2019-02-02 及更高版本。 如果指定了标头,则仅当文件的租约当前处于活动状态时,才会执行该作,并且请求中指定的租约 ID 与该文件的租约 ID 匹配。 否则,作失败,状态代码为 412(前置条件失败)。 如果文件位于启用了 NFS 协议的文件共享上,则忽略此标头,不支持文件租用。 |
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 协议的文件共享上,则默认支持尾随点,则忽略此标头。 有关详细信息,请参阅 命名和引用共享、目录、文件和元数据。 |
x-ms-file-support-rename: { <Boolean> } |
自选。 在版本 2024-05-04 及更高版本中受支持。 仅当存在 prevsharesnapshot 查询参数时,才允许此标头。 布尔值确定在上一快照中文件的位置与请求 URI 中的位置不同时,是否应列出文件的更改范围,因为重命名或移动作。 如果值为 true,将返回文件的有效更改范围。 如果值为 false,则作将导致失败并出现 409(冲突)响应。 默认值为 false。 |
仅 SMB 请求标头
没有。
仅 NFS 请求标头
没有。
请求正文
没有。
响应
响应包括 HTTP 状态代码、一组响应标头和 XML 格式的响应正文。
状态代码
成功的作返回状态代码 200(正常)。 有关状态代码的信息,请参阅 状态和错误代码。
响应标头
此作的响应包括下表中的标头。 响应还可能包括其他标准 HTTP 标头。 所有标准标头都符合 HTTP/1.1 协议规范。
常见响应标头
响应标头 | 描述 |
---|---|
Last-Modified |
上次修改文件的日期/时间。 修改文件的任何作(包括文件的元数据或属性的更新)更改文件的上次修改时间。 |
ETag |
ETag 包含一个值,该值表示文件的版本(以引号为单位)。 |
x-ms-content-length |
文件的大小(以字节为单位)。 当 prevsharesnapshot 存在时,该值描述 sharesnapshot 处的文件大小(如果存在 sharesnapshot 查询参数)。 否则,它描述实时文件的大小。 |
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 version="1.0" encoding="utf-8"?>
<Ranges>
<Range>
<Start>Start Byte</Start>
<End>End Byte</End>
</Range>
<Range>
<Start>Start Byte</Start>
<End>End Byte</End>
</Range>
</Ranges>
如果已清除文件的整个范围集,响应正文将不会包含任何范围。
如果指定了 prevsharesnapshot
,响应仅包含目标快照(或实时文件)和上一个快照之间的差异的页面。 返回的范围包括已更新或清除的两个范围。 此响应的格式如下所示:
<?xml version="1.0" encoding="utf-8"?>
<Ranges>
<Range>
<Start>Start Byte</Start>
<End>End Byte</Start>
</Range>
<ClearRange>
<Start>Start Byte</Start>
<End>End Byte</Start>
</ClearRange>
<Range>
<Start>Start Byte</Start>
<End>End Byte</Start>
</Range>
</Ranges>
如果文件的完整页面集已被清除,并且未指定 prevsharesnapshot
参数,则响应正文将不包含任何范围。
授权
只有帐户所有者才能调用此作。
言论
每个范围的开始和结束字节偏移量都是包容性的。 有关 放置范围,请参阅 范围更新作 和 范围清除作 示例。 这些示例显示如果从文件中写入或清除 512 未对齐字节范围,则返回哪些范围。
在具有大量写入的高碎片文件中,由于内部服务器超时,List Ranges
请求可能会失败。 检索具有大量写入作的文件范围的应用程序应一次检索一部分范围。
从版本 2020-02-10 开始,可以使用 prevsharesnapshot
参数调用 List Ranges
。 这会返回实时文件和快照之间或快照上的两个快照之间的范围。 通过使用这些范围差异,可以检索文件的增量快照。 如果要实现自己的备份解决方案,增量快照是备份文件的一种经济高效方法。
调用文件以检索增量快照时,对文件的某些作会导致 List Ranges
失败。 服务返回:
- 如果调用某个快照中不存在的文件(或者未指定
sharesnapshot
,则为 404(未找到)。 - 409(冲突)如果调用的文件是
prevsharesnapshot
指定的快照 后覆盖复制的目标。 - 如果在创建
prevsharesnapshot
指定的快照后调用已删除并重新创建的文件,则为 409 (冲突)。