你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
设置文件服务属性
该 Set File Service Properties
操作使用 FileREST API 设置文件服务资源的属性。 尽管此 API 完全受支持,但它是旧版管理 API。 建议改用由 Azure 存储资源提供程序 (Microsoft.Storage) 提供 的文件服务 - 设置服务属性。 若要详细了解如何使用 Azure 存储资源提供程序以编程方式与文件服务资源交互,请参阅 文件服务上的操作。
协议可用性
已启用文件共享协议 | 可用 |
---|---|
SMB | |
NFS |
请求
可以按如下所示指定 Set File Service Properties
请求。 建议使用 HTTPS。 将 account-name 替换为存储帐户的名称:
方法 | 请求 URI | HTTP 版本 |
---|---|---|
PUT | https://account-name.file.core.windows.net/?restype=service&comp=properties |
HTTP/1.1 |
注意
URI 必须始终包含斜杠字符 (/) ,以便将主机名与 URI 的路径和查询部分分开。 在此操作中,URI 的路径部分为空。
URI 参数
URI 参数 | 说明 |
---|---|
restype=service&comp=properties |
必需。 必须组合使用这两个查询字符串才能设置存储服务属性。 |
timeout |
可选。
timeout 参数以秒表示。 有关详细信息,请参阅 设置文件服务操作的超时。 |
请求标头
下表描述了必需的和可选的请求标头:
请求标头 | 说明 |
---|---|
Authorization |
必需。 指定授权方案、存储帐户名称和签名。 有关详细信息,请参阅授权对 Azure 存储的请求。 |
Date or x-ms-date |
必需。 指定请求的协调世界时 (UTC)。 有关详细信息,请参阅授权对 Azure 存储的请求。 |
x-ms-version |
对于所有已授权的请求是必需的。 指定用于此请求的操作的版本。 此操作仅在版本 2015-02-21 及更高版本中可用。 若要为文件服务启用指标,必须指定版本 2015-04-05 或更高版本。 有关详细信息,请参阅 Azure 存储服务的版本控制。 |
x-ms-client-request-id |
可选。 提供客户端生成的不透明值,其中包含 1-kiB (KiB) 配置日志记录时记录在存储分析日志中的字符限制。 强烈建议使用此标头将客户端活动与服务器接收的请求相关联。 有关详细信息,请参阅监视Azure 文件存储。 |
请求正文
版本 2020-02-10 的请求正文的格式如下所示:
<?xml version="1.0" encoding="utf-8"?>
<StorageServiceProperties>
<HourMetrics>
<Version>version-number</Version>
<Enabled>true|false</Enabled>
<IncludeAPIs>true|false</IncludeAPIs>
<RetentionPolicy>
<Enabled>true|false</Enabled>
<Days>number-of-days</Days>
</RetentionPolicy>
</HourMetrics>
<MinuteMetrics>
<Version>version-number</Version>
<Enabled>true|false</Enabled>
<IncludeAPIs>true|false</IncludeAPIs>
<RetentionPolicy>
<Enabled>true|false</Enabled>
<Days>number-of-days</Days>
</RetentionPolicy>
</MinuteMetrics>
<Cors>
<CorsRule>
<AllowedOrigins>comma-separated-list-of-allowed-origins</AllowedOrigins>
<AllowedMethods>comma-separated-list-of-HTTP-verb</AllowedMethods>
<MaxAgeInSeconds>max-caching-age-in-seconds</MaxAgeInSeconds>
<ExposedHeaders>comma-seperated-list-of-response-headers</ExposedHeaders>
<AllowedHeaders>comma-seperated-list-of-request-headers</AllowedHeaders>
</CorsRule>
</Cors>
<ShareDeleteRetentionPolicy>
<Enabled>true|false</Enabled>
<Days>integer-value</Days>
</ShareDeleteRetentionPolicy>
<ProtocolSettings>
<SMB>
<Multichannel>
<Enabled>true|false</Enabled>
</Multichannel>
<Versions>comma-separated-list-of-smb-versions</Versions>
<AuthenticationMethods>comma-separated-list-of-auth-methods</AuthenticationMethod>
<KerberosTicketEncryption>csv-of-kerb-encryption-algorithms</KerberosTicketEncryption>
<ChannelEncryption>csv-of-smb-encryption-algorithms</ChannelEncryption>
</SMB>
</ProtocolSettings>
</StorageServiceProperties>
无需在请求上指定每个根元素。 如果忽略某个根元素,则将保留针对该功能的服务现有设置。 但是,如果指定了特定的根元素,则必须为该元素指定每个子元素。 根元素包括:
HourMetrics
MinuteMetrics
Cors
ProtocolSettings
下表描述了请求正文的元素:
名称 | 说明 |
---|---|
HourMetrics |
对于版本 2015-04-05 及更高版本是可选的。 不适用于早期版本。 对存储分析HourMetrics 设置进行分组,这些设置提供按 API 按小时聚合分组的请求统计信息摘要。 |
MinuteMetrics |
对于版本 2015-04-05 及更高版本是可选的。 不适用于早期版本。 对存储分析MinuteMetrics 设置进行分组,这些设置提供每分钟的请求统计信息。 |
Version |
如果启用了指标,则为必需项。 要配置的存储分析版本。 将 1.0 用于此值。 |
Enabled |
必需。 指示是否为文件服务启用指标。 |
IncludeAPIs |
仅当启用度量值时才是必需的。 指示度量值是否应为调用的 API 操作生成汇总统计信息。 |
RetentionPolicy/Enabled |
必需。 指示是否为文件服务启用保留策略。 如果为 false,则保留指标数据,用户负责删除它。 |
RetentionPolicy/Days |
只有在启用保留策略时才是必需的。 指示指标数据应保留的天数。 将删除早于此值的所有数据。 可以指定的最小值为 1 ,最大值为 365 (一年) 。 保留期到期后,将尽最大努力删除指标数据。 |
Cors |
可选。
Cors 版本 2015-02-21 及更高版本支持 元素。 将所有跨域资源共享 (CORS) 规则进行分组。 省略此元素组不会覆盖现有的 CORS 设置。 |
CorsRule |
可选。 为文件服务指定 CORS 规则。 可在请求中包含最多五个 CorsRule 元素。 如果请求正文中不包含任何 CorsRule 元素,则会删除所有 CORS 规则,并且对文件服务禁用 CORS。 |
AllowedOrigins |
如果元素存在,则 CorsRule 为必需项。 允许通过 CORS 或“*”以逗号分隔的源域列表,以允许所有域。 源域还可以在子域中包含通配符,以允许通过 CORS 请求域的所有子域。 限制为 64 个源域。 允许的每个源最多可包含 256 个字符。 |
ExposedHeaders |
如果元素存在,则 CorsRule 为必需项。 要公开给 CORS 客户端的响应标头的以逗号分隔的列表。 限制为 64 个定义的标头和 2 个带前缀的标头。 每个标头最多可以包含 256 个字符。 |
MaxAgeInSeconds |
如果元素存在,则 CorsRule 为必需项。 客户端/浏览器应缓存预检响应的秒数。 |
AllowedHeaders |
如果元素存在,则 CorsRule 为必需项。 允许作为跨源请求的一部分的标头的逗号分隔列表。 限制为 64 个定义的标头和 2 个带前缀的标头。 每个标头最多可以包含 256 个字符。 |
AllowedMethods |
如果 CorsRule 元素存在,则是必需的。 允许由源执行的 HTTP 方法的以逗号分隔的列表。 对于Azure 文件存储,允许的方法是 DELETE 、、GET 、HEAD 、MERGE POST 、 OPTIONS 和 PUT 。 |
ShareDeleteRetentionPolicy |
可选。 此存储帐户中 Azure 文件共享的软删除属性。 |
Days |
可选。 指示 Azure 文件共享应保留 (软删除) 的天数。 可以指定的最小值为 1 ,最大值 365 (一年) 。 |
Enabled |
可选。 指示存储帐户是否为Azure 文件存储启用了软删除。 |
ProtocolSettings |
可选。 对文件系统协议的设置进行分组。 |
SMB |
可选。 对 SMB 的设置进行分组。 |
Multichannel |
可选。 包含 SMB 多通道的设置。 SMB 多通道包含 Enabled 布尔属性,用于切换 SMB 多通道的状态。 |
Version |
自版本 2020-04-08 起可选。 允许的 SMB 版本的逗号分隔列表。 允许使用的值为 SMB2.1 、SMB3.0 和 SMB3.1.1 。 |
AuthenticationMethods |
自版本 2020-04-08 起可选。 允许的身份验证方法的逗号分隔列表。 允许的值为 NTLMv2 和 Kerberos 。 |
KerberosTicketEncryption |
自版本 2020-04-08 起可选。 允许的 Kerberos 票证加密算法的逗号分隔列表。 允许的值为 RC4-HMAC 和 AES-256 。 |
ChannelEncryption |
自版本 2020-04-08 起可选。 允许的 SMB 通道加密协议的逗号分隔列表。 允许使用的值为 AES-128-CCM 、AES-128-GCM 和 AES-256-GCM 。 |
响应
响应包括 HTTP 状态代码和一组响应标头。
状态代码
成功的操作将返回状态代码 202(已接受)。
响应头
此操作的响应包括以下标头。 该响应还可能包括其他标准 HTTP 标头。 所有标准标头都符合 HTTP/1.1 协议规范。
响应标头 | 说明 |
---|---|
x-ms-request-id |
一个 值,该值唯一标识针对服务发出的请求。 |
x-ms-version |
指定用于响应的操作的版本。 有关详细信息,请参阅 Azure 存储服务的版本控制。 |
x-ms-client-request-id |
可用于对请求和相应的响应进行故障排除。 如果标头存在于请求中,并且该值包含的可见 ASCII 字符不超过 1,024 个,则标头的值等于 x-ms-client-request-id 标头的值。
x-ms-client-request-id 如果请求中不存在标头,则响应中不会显示该标头。 |
响应正文
无。
授权
只有帐户所有者可以调用此操作。
注解
以下限制和限制适用于 Azure 文件存储 中的 CORS 规则:
最多可存储 5 条规则。
请求上所有 CORS 规则设置(不包括 XML 标记)的最大大小不应超过 2 KiB。
允许的标头、公开的标头或允许的源的长度不应超过 256 个字符。
允许的标头和公开的标头可以是以下任一项:
文本标头,其中提供了准确的标头名称,如
x-ms-meta-processed
。 最多可以在请求中指定 64 个文本标头。带前缀的标头,其中提供了标头的前缀,如
x-ms-meta-data*
。 以这种方式指定前缀允许或公开以该前缀开头的任何标头。 请求最多可以指定两个前缀标头。
元素中指定的
AllowedMethods
方法 (或 HTTP 谓词) 必须符合 Azure 存储服务 API 支持的方法。 支持的方法包括DELETE
、、GET
、HEAD
、MERGE
POST
、OPTIONS
和PUT
。
在请求中指定 CORS 规则是可选的。 如果在请求正文中未指定 CORS 元素的情况下调用 Set File Service Properties
,则会维护任何现有的 CORS 规则。
若要禁用 CORS,请使用空的 CORS 规则设置 (调用 Set File Service Properties
, </Cors>
即) ,而没有内部 CORS 规则。 此调用将删除任何现有规则,并禁用文件服务的 CORS。
如果指定了 CorsRule
元素,则将需要所有 CORS 规则元素。 如果缺少任何元素,请求失败并出现错误代码 400 (错误请求) 。
有关 CORS 规则和评估逻辑的详细信息,请参阅 Azure 存储服务的跨域资源共享支持。
示例请求和响应
以下示例 URI 发出更改名为 myaccount 的存储帐户的文件服务属性的请求:
PUT https://myaccount.file.core.windows.net/?restype=service&comp=properties HTTP/1.1
请求与以下标头一起发送:
x-ms-version: 2020-02-10
x-ms-date: <date>
Authorization: SharedKey myaccount:Z1lTLDwtq5o1UYQluucdsXk6/iB7YxEu0m6VofAEkUE=
Host: myaccount.file.core.windows.net
请求与以下 XML 正文一起发送:
<?xml version="1.0" encoding="utf-8"?>
<StorageServiceProperties>
<HourMetrics>
<Version>1.0</Version>
<Enabled>true</Enabled>
<IncludeAPIs>false</IncludeAPIs>
<RetentionPolicy>
<Enabled>true</Enabled>
<Days>7</Days>
</RetentionPolicy>
</HourMetrics>
<MinuteMetrics>
<Version>1.0</Version>
<Enabled>true</Enabled>
<IncludeAPIs>true</IncludeAPIs>
<RetentionPolicy>
<Enabled>true</Enabled>
<Days>7</Days>
</RetentionPolicy>
</MinuteMetrics>
<Cors>
<CorsRule>
<AllowedOrigins>http://www.fabrikam.com,http://www.contoso.com</AllowedOrigins>
<AllowedMethods>GET,PUT</AllowedMethods>
<MaxAgeInSeconds>500</MaxAgeInSeconds>
<ExposedHeaders>x-ms-meta-data*,x-ms-meta-customheader</ExposedHeaders>
<AllowedHeaders>x-ms-meta-target*,x-ms-meta-customheader</AllowedHeaders>
</CorsRule>
</Cors>
<ShareDeleteRetentionPolicy>
<Enabled>true</Enabled>
<Days>7</Days>
</ShareDeleteRetentionPolicy>
<ProtocolSettings>
<SMB>
<Multichannel>
<Enabled>true</Enabled>
</Multichannel>
<Versions>SMB3.1.1</Versions>
<AuthenticationMethods>Kerberos</AuthenticationMethods>
<KerberosTicketEncryption>AES-256</KerberosTicketEncryption>
<ChannelEncryption>AES-256-GCM</ChannelEncryption>
</SMB>
</ProtocolSettings>
</StorageServiceProperties>
在发送请求后,将返回以下响应:
HTTP/1.1 202 Accepted
Connection: Keep-Alive
Transfer-Encoding: chunked
Date: <date>
Server: Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0
x-ms-request-id: cb939a31-0cc6-49bb-9fe5-3327691f2a30
x-ms-version: 2015-04-05
另请参阅
有关 CORS 规则和评估逻辑的详细信息,请参阅 Azure 存储服务的跨域资源共享支持。
有关存储分析的详细信息,请参阅存储分析。