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

设置文件属性

Set File Properties作设置文件上的系统属性。 在版本 2025-05-05 及更高版本中支持此作,以启用 NFS 协议的文件共享。

协议可用性

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

请求

Set File Properties 请求构造如下。 建议使用 HTTPS。

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

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

路径组件 描述
myaccount 存储帐户的名称。
myshare 文件共享的名称。
mydirectorypath 自选。 父目录的路径。
myfile 文件的名称。

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

URI 参数

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

参数 描述
timeout 自选。 timeout 参数以秒为单位表示。 有关详细信息,请参阅 设置文件服务作的超时

请求标头

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

常见请求标头

请求标头 描述
Authorization 必填。 指定授权方案、帐户名称和签名。 有关详细信息,请参阅 授权对 Azure 存储的请求。
Datex-ms-date 必填。 指定请求的协调世界时(UTC)。 有关详细信息,请参阅 授权对 Azure 存储的请求。
x-ms-version 所有授权请求都是必需的。 指定要用于此请求的操作的版本。 在版本 2025-05-05 及更高版本中支持此作,以启用 NFS 协议的文件共享。

有关详细信息,请参阅 azure 存储服务 版本控制。
x-ms-cache-control 自选。 修改文件的缓存控制字符串。

如果未在请求中指定此属性,则会清除该文件的属性。 对 获取文件属性的后续调用 不会返回此属性,除非该文件再次显式设置。
x-ms-content-type 自选。 设置文件的内容类型。

如果未在请求中指定此属性,则会清除该文件的属性。 对 获取文件属性的后续调用 不会返回此属性,除非该文件再次显式设置。
x-ms-content-md5 自选。 设置文件的 MD5 哈希。

如果未在请求中指定此属性,则会清除该文件的属性。 对 获取文件属性的后续调用 不会返回此属性,除非该文件再次显式设置。
x-ms-content-encoding 自选。 设置文件的内容编码。

如果未在请求中指定此属性,则会清除该文件的属性。 对 获取文件属性的后续调用 不会返回此属性,除非该文件再次显式设置。
x-ms-content-language 自选。 设置文件的内容语言。

如果未在请求中指定此属性,则会清除该文件的属性。 对 获取文件属性的后续调用 不会返回此属性,除非该文件再次显式设置。
x-ms-content-disposition 自选。 设置文件的 Content-Disposition 标头。

如果未在请求中指定此属性,则会清除该文件的属性。 对 获取文件属性的后续调用 不会返回此属性,除非该文件再次显式设置。
x-ms-content-length: bytes 自选。 将文件的大小调整为指定大小。 如果指定的字节值小于文件的当前大小,则会清除指定字节值上方的所有范围。
x-ms-file-creation-time: { preserve ¦ <DateTime> } 必需版本 2019-02-02 到 2021-04-10。 可选版本 2021-06-08 及更高版本。 文件的协调世界时 (UTC) 创建时间属性。 可以传递 preserve 值以保持现有值不变。 默认值为 preserve
x-ms-file-last-write-time: { preserve ¦ <DateTime> } 必需版本 2019-02-02 到 2021-04-10。 可选版本 2021-06-08 及更高版本。 文件的协调世界时 (UTC) 最后一个写入属性。 可以传递 preserve 值以保持现有值不变。 如果指定了 preserve 并更改了文件大小,则上次写入时间将更新为当前时间。 如果文件的大小已更改,但提供了显式时间戳,则使用显式时间戳。 默认值为 preserve
x-ms-lease-id:<ID> 如果文件具有活动租约,则为必需。 适用于版本 2019-02-02 及更高版本。

如果文件位于启用了 NFS 协议的文件共享上,则忽略此标头,这不支持文件租约。
x-ms-client-request-id 自选。 提供客户端生成的不透明值,该值具有配置日志记录时日志中记录的 1-kibibyte (KiB) 字符限制。 强烈建议使用此标头将客户端活动与服务器接收的请求相关联。 有关详细信息,请参阅 监视 Azure 文件
x-ms-file-request-intent 如果需要 Authorization 标头指定 OAuth 令牌。 可接受的值为 backup。 此标头指定,如果 Microsoft.Storage/storageAccounts/fileServices/readFileBackupSemantics/actionMicrosoft.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-change-time: { now ¦ <DateTime> } 自选。 版本 2021-06-08 及更高版本。 文件格式为 ISO 8601 格式的协调世界时(UTC)更改时间属性。 可以使用 now 值来指示请求的时间。 默认值为 now
x-ms-file-permission: { preserve ¦ <SDDL> ¦ <binary> } 在版本 2019-02-02 到 2021-04-10 中,如果未指定 x-ms-file-permission-key,则需要此标头。 从版本 2021-06-08 起,这两个标头都是可选的。 此权限是 base64 编码 二进制安全描述符格式安全描述符定义语言(SDDL) 中指定的文件的安全描述符(版本 2024-11-04 或更高版本)。 可以指定要用于 x-ms-file-permission-format 标头的格式。 如果权限大小为 8 kibibytes(KiB)或更少,则可以使用此标头。 否则,可以使用 x-ms-file-permission-key。 如果指定,它必须具有所有者、组和 自由访问控制列表(DACL)。 可以传递 preserve 值以保持现有值不变。

注意:可以指定 x-ms-file-permissionx-ms-file-permission-key。 如果未指定两个标头,则使用 preserve 的默认值。
x-ms-file-permission-format: { sddl ¦ binary } 自选。 版本 2024-11-04 或更高版本。 指定传入 x-ms-file-permission 的值是采用 SDDL 还是二进制格式。 如果 x-ms-file-permission 设置为 preserve,则不应设置此标头。 如果 x-ms-file-permission 设置为除 preserve以外的任何其他值,并且未设置此标头,则使用 sddl 的默认值。
x-ms-file-permission-key: <PermissionKey> 在版本 2019-02-02 到 2021-04-10 中,如果未指定 x-ms-file-permission,则需要此标头。 从版本 2021-06-08 起,这两个标头都是可选的。 要为文件设置的权限的键。 可以使用 Create-Permission API 创建此功能。

注意:可以指定 x-ms-file-permissionx-ms-file-permission-key。 如果未指定两个标头,则 preserve 的默认值用于 x-ms-file-permission 标头。
x-ms-file-attributes: { preserve ¦ <FileAttributeList> } 必需版本 2019-02-02 到 2021-04-10。 可选版本 2021-06-08 及更高版本。 要对文件设置的文件系统属性。 请参阅 可用属性的列表。 可以传递 preserve 值以保持现有值不变。 默认值为 preserve

仅 NFS 请求标头

请求标头 描述
x-ms-mode 版本 2025-05-05 及更高版本。 要对文件设置的模式位。 模式以 12 位数字八进制格式或符号“rwx”格式表示。 请参阅 POSIX 文件权限(模式)
x-ms-owner 版本 2025-05-05 及更高版本。 要对文件设置的文件所有者的用户标识符(UID)。
x-ms-group 版本 2025-05-05 及更高版本。 要对文件设置的文件所有者的组标识符(GID)。

请求正文

没有。

响应

响应包括 HTTP 状态代码和一组响应标头。

状态代码

成功的操作返回状态代码 200(正常)。 有关状态代码的信息,请参阅 状态和错误代码。 有关状态代码的信息,请参阅 状态和错误代码

响应标头

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

常见响应标头

响应标头 描述
ETag 包含一个值,该值表示文件的版本。 该值用引号引起来。
Last-Modified 返回上次修改文件的日期和时间。 日期格式遵循 RFC 1123。 有关详细信息,请参阅 表示标头中的日期/时间值。 修改目录或其属性的任何操作将更新上次修改的时间。 对文件的操作不会影响目录的上次修改时间。
x-ms-request-id 唯一标识已发出的请求,并可用于对请求进行故障排除。 有关详细信息,请参阅 API作疑难解答
x-ms-version 指示用于执行请求的文件服务的版本。
Datex-ms-date 由服务生成的 UTC 日期/时间值,该值指示启动响应的时间。
x-ms-request-server-encrypted: true/false 版本 2017-04-17 及更高版本。 如果请求的内容使用指定的算法成功加密,则此标头的值将设置为 true。 否则,该值设置为 false
x-ms-file-creation-time 版本 2019-02-02 及更高版本。 表示文件的创建时间属性的 UTC 日期/时间值。
x-ms-file-last-write-time 版本 2019-02-02 及更高版本。 表示文件的上次写入时间属性的 UTC 日期/时间值。
x-ms-file-change-time 版本 2019-02-02 及更高版本。 表示文件的更改时间属性的 UTC 日期/时间值。
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 及更高版本。 文件的链接计数。

响应正文

没有。

授权

只有帐户所有者才能调用此作。

文件系统属性

属性 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 其他人具有执行权限。

言论

更新文件属性的语义如下所示:

  • 仅当请求指定 x-ms-content-length 标头的值时,才会修改文件大小。

  • 如果请求仅设置 x-ms-content-length,并且没有其他属性:

    • 如果文件位于启用了 SMB 协议的文件共享上,则不会修改该文件的其他属性。
    • 如果该文件位于启用了 NFS 协议的文件共享上,则会修改文件的更改时间和上次写入时间。
  • 如果在请求中设置了以下任何一个或多个属性,则所有这些属性都一起设置。 如果在设置以下属性中至少一个属性时未为指定属性提供值,则会为该文件清除该属性。

    • x-ms-cache-control
    • x-ms-content-type
    • x-ms-content-md5
    • x-ms-content-encoding
    • x-ms-content-language

注意

上述文件属性独立于可用于 SMB 客户端的文件系统属性。 SMB 客户端无法读取、写入或修改这些属性值。

共享快照不支持 Set File properties,这是共享的只读副本。 尝试对共享快照执行此操作失败,并出现 400(InvalidQueryParameterValue)。

如果文件具有活动租约,客户端必须在请求中指定有效的租约 ID,才能将属性写入文件。 如果客户端未指定租约 ID 或指定无效的租约 ID,则文件服务将返回状态代码 412(前置条件失败)。 如果客户端指定租约 ID 但文件没有活动租约,则文件服务还会返回状态代码 412(前置条件失败)。

另请参阅

对文件