你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

获取文件

Get File操作可从系统读取或下载文件,包括其元数据和属性。

协议可用性

已启用文件共享协议 可用
SMB 是
NFS 否

请求

可以按如下方式构建Get File请求。 建议使用 HTTPS。

方法 请求 URI HTTP 版本
GET https://myaccount.file.core.windows.net/myshare/mydirectorypath/myfile HTTP/1.1

将请求 URI 中显示的路径组件替换为自己的组件,如下所示:

路径组件 说明
myaccount 存储帐户的名称。
myshare 文件共享的名称。
mydirectorypath 可选。 目录的路径。
myfile 文件的名称。

有关路径命名限制的信息,请参阅 名称和引用共享、目录、文件和元数据

URI 参数

可以在请求 URI 上指定以下附加参数:

参数 说明
timeout 可选。 timeout 参数以秒表示。 有关详细信息,请参阅设置Azure 文件存储操作的超时

请求标头

下表描述了必需的和可选的请求标头:

请求标头 说明
Authorization 必需。 指定授权方案、帐户名称和签名。 有关详细信息,请参阅授权对 Azure 存储的请求
Datex-ms-date 必需。 指定请求的协调世界时 (UTC)。 有关详细信息,请参阅授权对 Azure 存储的请求
x-ms-version 对于所有已授权的请求是必需的。 指定用于此请求的操作的版本。 有关详细信息,请参阅 Azure 存储服务的版本控制
Range 可选。 仅从指定的字节范围返回文件数据。
x-ms-range 可选。 仅从指定的字节范围返回文件数据。 如果指定了 Rangex-ms-range,服务将使用 x-ms-range 值。 如果两者均未指定,则返回整个文件内容。 有关详细信息,请参阅指定Azure 文件存储操作的范围标头
x-ms-range-get-content-md5: true 可选。 当此标头设置为 true 并且它与标头一起 Range 指定时,只要范围小于或等于 4 mb, (MiB) 大小,服务将返回该范围的 MD5 哈希。

如果不带 Range 标头指定此标头,则服务返回状态码 400(错误请求)。

如果当范围超过 4 MiB 时将此标头设置为 true ,则服务将返回状态代码 400 (错误请求) 。
x-ms-lease-id:<ID> 可选。 版本 2019-02-02 及更高版本。 如果指定了标头,则仅当文件的租约当前处于活动状态且请求中指定的租约 ID 与文件的租约 ID 匹配时才执行该操作。 否则,操作将失败,状态代码为 412 (先决条件失败) 。
x-ms-client-request-id 可选。 提供客户端生成的不透明值,其中包含 1-kiB (KiB) 配置日志记录时记录在日志中的字符限制。 强烈建议使用此标头将客户端活动与服务器接收的请求相关联。 有关详细信息,请参阅监视Azure 文件存储
x-ms-file-request-intent 如果 Authorization 标头指定 OAuth 令牌,则为必需。 可接受的值为 backup。 此标头指定Microsoft.Storage/storageAccounts/fileServices/readFileBackupSemantics/actionMicrosoft.Storage/storageAccounts/fileServices/writeFileBackupSemantics/action,如果 或 包含在分配给使用 标头授权的标识的 RBAC 策略中,则应授予 或Authorization。 适用于版本 2022-11-02 及更高版本。
x-ms-allow-trailing-dot: { <Boolean> } 可选。 版本 2022-11-02 及更高版本。 布尔值指定是否应剪裁请求 URL 中存在的尾随点。 有关详细信息,请参阅 命名和引用共享、目录、文件和元数据

请求正文

无。

响应

响应包括 HTTP 状态代码、一组响应标头和响应正文,响应正文包含文件内容。

状态代码

此操作成功后返回状态代码 200(正常)。

有关状态代码的信息,请参阅 状态和错误代码

响应标头

此操作的响应包括以下标头。 响应可能还包括其他标准 HTTP 标头。 所有标准标头都符合 HTTP/1.1 协议规范

响应标头 说明
Last-Modified 返回上次修改文件的日期和时间。 日期格式遵循 RFC 1123。 有关详细信息,请参阅 在标头中表示日期/时间值。 修改文件或其属性的任何操作将更新上次修改时间。
x-ms-meta-name:value 一组作为用户定义元数据、与此文件关联的名称-值对。
Content-Length 响应正文中存在的字节数。
Content-Type 为文件指定的内容类型。 默认内容类型为 application/octet-stream
Content-Range 如果客户端通过设置请求标头请求文件的子集,则返回的 Range 字节范围。
ETag 包含可用于有条件地执行操作的值。 该值用引号引起来。
Content-MD5 如果文件包含 MD5 哈希并且请求是读取整个文件,则返回此响应标头,以便客户端能够检查消息内容完整性。

如果请求要读取指定范围, x-ms-range-get-content-md5 并且 设置为 true,则只要范围大小小于或等于 4 MiB,请求将返回该区域的 MD5 哈希。

如果这两组条件 true都不是 ,则不会为 Content-MD5 标头返回值。

如果在 x-ms-range-get-content-md5 未指定范围标头的情况下指定 ,则服务返回状态代码 400 (错误请求) 。

如果 x-ms-range-get-content-md5 当范围超过 4 MiB 时设置为 true ,则服务返回状态代码 400 (错误请求) 。
Content-Encoding 返回为 Content-Encoding 请求标头指定的值。
Content-Language 返回为 Content-Language 请求标头指定的值。
Cache-Control 如果以前为文件指定了 ,则返回 。
Content-Disposition 返回为 x-ms-content-disposition 标头指定的值,并指定如何处理响应。

响应 Content-Disposition 标头字段传达了有关如何处理响应有效负载的其他信息,还可用于附加其他元数据。 例如,如果设置为 attachmentContent-Disposition 则表示用户代理不应显示响应,而是应显示“另存为”窗口。
x-ms-request-id 唯一标识发出的请求,可用于对请求进行故障排除。 有关详细信息,请参阅 API 操作疑难解答
x-ms-version 用于执行请求的服务版本。
Accept-Ranges: bytes 指示服务支持针对部分文件内容的请求。
Date Date
x-ms-copy-completion-time:<datetime> 版本 2015-02-21 及更高版本。 上次尝试 复制文件 操作的结束时间,其中此文件是目标文件。 该值可以指定已完成、已中止或失败的复制尝试时间。 如果副本处于挂起状态,如果此文件从未成为复制文件操作中的目标,或者此文件在使用“设置文件属性”或“创建文件”的复制文件操作完成之后已修改,则不会显示此标头。
x-ms-copy-status-description: <error string> 版本 2015-02-21 及更高版本。 仅在失败挂起x-ms-copy-status显示。 描述致命或非致命复制操作失败的原因。 如果此文件从未成为复制文件操作中的目标,或者此文件在使用“设置文件属性”或“创建文件”操作完成之后修改,则不会显示此标头。
x-ms-copy-id: <id> 版本 2015-02-21 及更高版本。 上次尝试的 复制文件 操作的字符串标识符,其中此文件是目标文件。 如果文件从未在复制文件操作中成为目标,或者此文件在使用“设置文件属性”或“创建文件”操作完成之后修改,则不会显示此标头。
x-ms-copy-progress: <bytes copied/bytes total> 版本 2015-02-21 及更高版本。 包含上次尝试的复制 文件 操作中复制的字节数和源中的总字节数,其中此文件是目标文件。 可以显示从 0 到复制 Content-Length 的字节数。 如果此文件从未成为复制文件操作中的目标,或者此文件在使用“设置文件属性”或“创建文件”操作完成之后修改,则不会显示此标头。
x-ms-copy-source: url 版本 2015-02-21 及更高版本。 长度为 2 KB 的 URL,指定在上次尝试的 复制文件 操作中使用的源文件,其中此文件是目标文件。 如果此文件从未成为复制文件操作中的目标,或者此文件在使用“设置文件属性”或“创建文件”的复制文件操作完成之后进行了修改,则不会显示此标头。
x-ms-copy-status: <pending ¦ success ¦ aborted ¦ failed> 版本 2015-02-21 及更高版本。 由 x-ms-copy-id标识的复制操作的状态,这些值包括:

- pending:复制正在进行中。 检查 x-ms-copy-status-description 间歇性、非致命错误是否妨碍了复制进度,但不会导致失败。
- success:复制已成功完成。
- aborted:复制已由 中止复制文件结束。
- failed:复制失败。 有关错误详细信息,请参阅 x-ms-copy-status-description

如果此文件从未成为复制文件操作中的目标,或者此文件在使用“设置文件属性”或“创建文件”的完成复制文件操作后已修改,则不会显示此标头。
x-ms-content-md5 从版本 2016-05-31 开始,如果文件具有 MD5 哈希,并且请求包含范围标头 (rangex-ms-range) ,则返回此响应标头以及整个文件的 MD5 值的值。 此值可能等于标头中 Content-MD5 返回的值,也可能不等于从请求的范围计算的值。
x-ms-server-encrypted: true/false 版本 2017-04-17 及更高版本。 如果使用指定的算法完全加密文件数据和应用程序元数据,则此标头的值设置为 true 。 如果文件未加密,或者仅加密了部分文件/应用程序元数据,则该值设置为 false
x-ms-file-permission-key 文件权限的键。
x-ms-file-attributes 文件上的文件系统属性。 有关详细信息,请参阅 可用属性列表
x-ms-file-creation-time 表示文件的创建时间属性的 UTC 日期/时间值。
x-ms-file-last-write-time 表示文件的上次写入时间属性的 UTC 日期/时间值。
x-ms-file-change-time 表示文件的更改时间属性的 UTC 日期/时间。
x-ms-file-file-id 文件的文件 ID。
x-ms-file-parent-id 文件的父文件 ID。
x-ms-lease-duration:infinite 版本 2019-02-02 及更高版本。 租用文件时,指定租约的持续时间是无限的。
x-ms-lease-state: <available, leased, broken> 版本 2019-02-02 及更高版本。 租用文件时,指定文件的租用状态。
x-ms-lease-status: <locked, unlocked> 版本 2019-02-02 及更高版本。 租用文件时,指定文件的租用状态。
x-ms-client-request-id 可用于对请求及其相应响应进行故障排除。 如果请求中存在此标头的值,并且该值包含不超过 1,024 个可见 ASCII 字符,则此标头的值等于该标头的值 x-ms-client-request-idx-ms-client-request-id如果请求中不存在标头,则响应中不存在该标头。

响应正文

响应正文包含文件的内容。

示例响应

Response Status:
HTTP/1.1 200 OK

Response Headers:
x-ms-type: File
x-ms-meta-m1: v1
x-ms-meta-m2: v2
Content-Length: 11
Content-Type: text/plain; charset=UTF-8
Date: <date>
ETag: "0x8CB171DBEAD6A6B"
Last-Modified: <date>
x-ms-version: 2019-02-02
Server: Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0
x-ms-copy-id: 36650d67-05c9-4a24-9a7d-a2213e53caf6
x-ms-copy-source: <url>
x-ms-copy-status: success
x-ms-copy-progress: 11/11
x-ms-copy-completion-time: <date>
x-ms-lease-duration: infinite
x-ms-lease-state: leased
x-ms-lease-status: locked

授权

只有帐户所有者可以调用此操作。

注解

对尚未包含内容或已清除的范围调用 Get File0 返回这些字节。

如果在调用 Get File 时未指定任何范围,则服务将返回字节范围,最大为标头指定的 x-ms-content-length 值。 对于任何缺少内容的区域,服务将 0 返回这些字节。

Get File每个 MiB 允许两分钟完成操作。 平均每个 MiB 花费的时间超过两分钟的操作将超时。

另请参阅

Azure 文件存储上的操作