你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
设置文件属性
Set File Properties
操作设置文件上的系统属性。
协议可用性
已启用文件共享协议 | 可用 |
---|---|
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 存储的请求。 |
Date 或 x-ms-date |
必填。 指定请求的协调世界时(UTC)。 有关详细信息,请参阅 授权对 Azure 存储的请求。 |
x-ms-version |
所有授权请求都是必需的。 指定要用于此请求的操作的版本。 有关详细信息,请参阅 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-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-permission 或 x-ms-file-permission-key 。 如果未指定两个标头,则使用 preserve 的默认值。 |
x-ms-file-permission-format: { sddl ¦ binary } |
自选。 版本 2024-11-04 或更高版本。 指定传入 x-ms-file-permission 的值是采用 SDDL 还是二进制格式。 如果 x-ms-file-permission-key 设置为 preserve ,则不应设置此标头。 如果 x-ms-file-permission-key 设置为除 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-permission 或 x-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 。 |
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 及更高版本。 |
x-ms-client-request-id |
自选。 提供客户端生成的不透明值,该值具有配置日志记录时日志中记录的 1-kibibyte (KiB) 字符限制。 强烈建议使用此标头将客户端活动与服务器接收的请求相关联。 有关详细信息,请参阅 监视 Azure 文件。 |
x-ms-file-change-time: { now ¦ <DateTime> } |
自选。 版本 2021-06-08 及更高版本。 文件格式为 ISO 8601 格式的协调世界时(UTC)更改时间属性。 可以使用 now 值来指示请求的时间。 默认值为 now 。 |
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 中存在的尾随点。 有关详细信息,请参阅 命名和引用共享、目录、文件和元数据。 |
请求正文
没有。
响应
响应包括 HTTP 状态代码和一组响应标头。
状态代码
成功的操作返回状态代码 200(正常)。
有关状态代码的信息,请参阅 状态和错误代码。
响应标头
此操作的响应包括以下标头。 响应还可能包括其他标准 HTTP 标头。 所有标准标头都符合 HTTP/1.1 协议规范。
响应标头 | 描述 |
---|---|
ETag |
包含一个值,该值表示文件的版本。 该值用引号引起来。 |
Last-Modified |
返回上次修改文件的日期和时间。 日期格式遵循 RFC 1123。 有关详细信息,请参阅 表示标头中的日期/时间值。 修改目录或其属性的任何操作将更新上次修改的时间。 对文件的操作不会影响目录的上次修改时间。 |
x-ms-request-id |
唯一标识已发出的请求,并可用于对请求进行故障排除。 有关详细信息,请参阅 API 操作疑难解答。 |
x-ms-version |
指示用于执行请求的文件服务的版本。 |
Date 或 x-ms-date |
由服务生成的 UTC 日期/时间值,该值指示启动响应的时间。 |
x-ms-request-server-encrypted: true/false |
版本 2017-04-17 及更高版本。 如果请求的内容使用指定的算法成功加密,则此标头的值将设置为 true 。 否则,该值设置为 false 。 |
x-ms-file-permission-key |
版本 2019-02-02 及更高版本。 文件权限的密钥。 |
x-ms-file-attributes |
版本 2019-02-02 及更高版本。 文件上的文件系统属性。 有关详细信息,请参阅可用属性 |
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 标头,则响应中不会显示该标头。 |
响应正文
没有。
授权
只有帐户所有者才能调用此操作。
文件系统属性
属性 | 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 的兼容性。 |
言论
更新文件属性的语义如下所示:
仅当请求指定
x-ms-content-length
标头的值时,才会修改文件大小。如果请求仅设置
x-ms-content-length
,并且没有其他属性,则不会修改该文件的其他属性。如果在请求中设置了以下任何一个或多个属性,则所有这些属性都一起设置。 如果在设置以下属性中至少一个属性时未为指定属性提供值,则会为该文件清除该属性。
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(前置条件失败)。
另请参阅
Azure 文件存储 上的