你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
获取文件
Get File
作从系统读取或下载文件,包括其元数据和属性。 在版本 2025-05-05 及更高版本中支持此作,以启用 NFS 协议的文件共享。
协议可用性
已启用文件共享协议 | 可用 |
---|---|
SMB |
![]() |
NFS |
![]() |
请求
Get File
请求构造如下。 建议使用 HTTPS。
方法 | 请求 URI | HTTP 版本 |
---|---|---|
获取 | https://myaccount.file.core.windows.net/myshare/mydirectorypath/myfile |
HTTP/1.1 |
将请求 URI 中显示的路径组件替换为自己的路径组件,如下所示:
路径组件 | 描述 |
---|---|
myaccount |
存储帐户的名称。 |
myshare |
文件共享的名称。 |
mydirectorypath |
自选。 目录的路径。 |
myfile |
文件的名称。 |
有关路径命名限制的信息,请参阅 名称和引用共享、目录、文件和元数据。
URI 参数
可以在请求 URI 上指定以下附加参数:
参数 | 描述 |
---|---|
timeout |
自选。
timeout 参数以秒为单位表示。 有关详细信息,请参阅 设置 Azure 文件存储作的超时。 |
请求标头
下表描述了必需和可选的请求标头:
常见请求标头
请求标头 | 描述 |
---|---|
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-range-get-content-md5: true |
自选。 当此标头设置为 true 并且它与 Range 标头一起指定时,服务将返回该范围的 MD5 哈希,前提是范围小于或等于 4 个字节(MiB)。如果未指定此标头 Range 标头,服务将返回状态代码 400(错误请求)。如果此标头设置为 true 当范围超过 4 MiB 时,服务将返回状态代码 400(错误请求)。 |
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 协议的文件共享上,则默认支持尾随点,则忽略此标头。 有关详细信息,请参阅 命名和引用共享、目录、文件和元数据。 |
仅 SMB 请求标头
没有。
仅 NFS 请求标头
没有。
请求正文
没有。
响应
响应包括 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(错误请求)。如果当范围超过 4 MiB 时 x-ms-range-get-content-md5 设置为 true ,则服务将返回状态代码 400(错误请求)。 |
Content-Encoding |
返回为 Content-Encoding 请求标头指定的值。 |
Content-Language |
返回为 Content-Language 请求标头指定的值。 |
Cache-Control |
如果之前为文件指定了该文件,则返回它。 |
Content-Disposition |
返回为 x-ms-content-disposition 标头指定的值,并指定如何处理响应。Content-Disposition 响应标头字段传达有关如何处理响应有效负载的其他信息,还可用于附加其他元数据。 例如,如果设置为 attachment ,Content-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 哈希,并且请求包含范围标头(range 或 x-ms-range ),则返回此响应标头,其值为整个文件的 MD5 值。 此值可能等于 Content-MD5 标头中返回的值,该值是从请求的范围计算得出的。 |
x-ms-server-encrypted: true/false |
版本 2017-04-17 及更高版本。 如果文件数据和应用程序元数据使用指定的算法完全加密,则此标头的值将设置为 true 。 如果文件未加密,或者仅加密文件/应用程序元数据的一部分,该值将设置为 false 。 |
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 |
可用于对请求及其相应的响应进行故障排除。 如果此标头存在于请求中,则此标头的值等于 x-ms-client-request-id 标头的值,并且该值包含不超过 1,024 个可见 ASCII 字符。 如果请求中不存在 x-ms-client-request-id 标头,则响应中不存在该标头。 |
仅 SMB 响应标头
响应标头 | 描述 |
---|---|
x-ms-file-permission-key |
版本 2019-02-02 及更高版本。 文件权限的密钥。 |
x-ms-file-attributes |
版本 2019-02-02 及更高版本。 文件的文件系统属性。 有关详细信息,请参阅可用属性 列表。 |
仅 NFS 响应标头
响应标头 | 描述 |
---|---|
x-ms-mode |
版本 2025-05-05 及更高版本。 文件的模式。 请参阅 POSIX 文件权限(模式)。 |
x-ms-owner |
版本 2025-05-05 及更高版本。 文件所有者的用户标识符(UID)。 |
x-ms-group |
版本 2025-05-05 及更高版本。 文件所有者的组标识符(GID)。 |
x-ms-link-count |
版本 2025-05-05 及更高版本。 文件的链接计数。 |
响应正文
响应正文包含文件的内容。
示例响应
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
授权
只有帐户所有者才能调用此作。
文件系统属性
属性 | Win32 文件属性 | 定义 |
---|---|---|
ReadOnly | FILE_ATTRIBUTE_READONLY | 只读文件。 应用程序可以读取文件,但无法写入文件或删除该文件。 |
隐藏 | FILE_ATTRIBUTE_HIDDEN | 文件已隐藏。 它不包括在普通目录列表中。 |
系统 | FILE_ATTRIBUTE_SYSTEM | 作系统使用部分或独占使用的文件。 |
没有 | FILE_ATTRIBUTE_NORMAL | 未设置其他属性的文件。 此属性仅在单独使用时才有效。 |
档案 | FILE_ATTRIBUTE_ARCHIVE | 作为存档文件的文件。 应用程序通常使用此属性标记文件以供备份或删除。 |
临时 | FILE_ATTRIBUTE_TEMPORARY | 用于临时存储的文件。 |
离线 | FILE_ATTRIBUTE_OFFLINE | 文件的数据不会立即可用。 此文件系统属性主要用于提供与 Windows 的兼容性。 Azure 文件不支持脱机存储选项。 |
NotContentIndexed | FILE_ATTRIBUTE_NOT_CONTENT_INDEXED | 文件不会由内容索引服务编制索引。 |
NoScrubData | FILE_ATTRIBUTE_NO_SCRUB_DATA | 用户数据流不会由后台数据完整性扫描程序读取。 此文件系统属性主要用于提供与 Windows 的兼容性。 |
POSIX 文件权限(模式)
POSIX 文件权限可以用 12 位数字八进制格式或符号“rwx”格式进行数字指定。 例子:
- “0644”或“rw-r--r--”:用户(文件所有者)具有读取、写入权限。 组具有读取权限。 其他人具有读取权限。
- “0755”或“rwxr-xr-x”:用户(文件所有者)具有读取、写入和执行权限。 组具有读取和执行权限。 其他人具有读取和执行权限。
数字八进制格式
三个最低顺序八进制数表示所有者/用户、组和其他用户的权限,并使用八进制数(0-7)表示使用按位组合“4”(读取)、“2”(写入)、“1”(执行)。 最高阶八进制数(0-7)用于指示“4”(SetUID)、“2”(SetGID)、“1”(StickyBit)权限的组合。
格式 | 许可 |
---|---|
0700 | 用户(文件所有者)具有读取、写入和执行权限。 |
0400 | 用户具有读取权限。 |
0200 | 用户具有写入权限。 |
0100 | 用户具有执行权限。 |
0070 | 组具有读取、写入和执行权限。 |
0040 | 组具有读取权限。 |
0020 | 组具有写入权限。 |
0010 | 组具有执行权限。 |
0007 | 其他人具有读取、写入和执行权限。 |
0004 | 其他人具有读取权限。 |
0002 | 其他人具有写入权限。 |
0001 | 其他人具有执行权限。 |
4000 | 在文件上设置有效的用户 ID。 |
2000 | 在文件上设置有效组 ID。 |
1000 | 设置为指示文件只能由文件所有者、目录所有者或根用户删除或重命名文件。 |
符号“rwx”格式
所有者/用户、组和其他用户的权限使用“r”(读取)、“w”(写入)和“x”(执行)字符的组合来指示。
格式 | 许可 |
---|---|
rwx------ | 用户(文件所有者)具有读取、写入和执行权限。 |
r-------- | 用户具有读取权限。 |
-w------- | 用户具有写入权限。 |
--x------ | 用户具有执行权限。 |
---rwx--- | 组具有读取、写入和执行权限。 |
---r----- | 组具有读取权限。 |
----w---- | 组具有写入权限。 |
-----x--- | 组具有执行权限。 |
------rwx | 其他人具有读取、写入和执行权限。 |
------r-- | 其他人具有读取权限。 |
-------w- | 其他人具有写入权限。 |
--------x | 其他人具有执行权限。 |
言论
对尚未包含内容或已清除的范围调用 Get File
将返回这些字节 0
。
如果在未指定范围的情况下调用 Get File
,则服务将返回的字节范围最多返回为 x-ms-content-length
标头指定的值。 对于缺少内容的任何范围,服务将返回这些字节的 0
。
允许每个 MiB 完成两分钟 Get File
作。 平均每 MiB 需要两分钟以上的作超时。