设置文件服务属性

Set File Service Properties 作使用 FileREST API 设置文件服务资源的属性。 尽管完全支持此 API,但它是旧版管理 API。 建议改用 文件服务 - 设置服务属性,该属性由 Azure 存储资源提供程序(Microsoft.Storage)提供。 若要详细了解如何使用 Azure 存储资源提供程序以编程方式与文件服务资源交互,请参阅 文件服务上的作

协议可用性

已启用文件共享协议 可用
中小型企业 (SMB) 是的
网络文件系统(NFS) 是的

请求

可以按如下所示指定 Set File Service Properties 请求。 建议使用 HTTPS。 将 帐户名称 替换为存储帐户的名称:

方法 请求 URI HTTP 版本
https://account-name.file.core.windows.net/?restype=service&comp=properties HTTP/1.1

注释

URI 必须始终包含斜杠字符(/),以便将主机名与 URI 的路径和查询部分分开。 在此作中,URI 的路径部分为空。

URI 参数

URI 参数 DESCRIPTION
restype=service&comp=properties 必填。 这两个查询字符串的组合是设置存储服务属性所必需的。
timeout 可选。 timeout 参数以秒为单位表示。 有关详细信息,请参阅 设置文件服务作的超时

请求标头

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

请求标头 DESCRIPTION
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-kibibyte (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-separated-list-of-response-headers</ExposedHeaders>  
            <AllowedHeaders>comma-separated-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>semicolon-separated-list-of-smb-versions</Versions>
            <AuthenticationMethods>semicolon-separated-list-of-auth-methods</AuthenticationMethod>
            <KerberosTicketEncryption>semicolon-separated-list-of-kerberos-encryption-algorithms</KerberosTicketEncryption>
            <ChannelEncryption>semicolon-separated-list-of-smb-channel-encryption-algorithms</ChannelEncryption>
        </SMB>
    </ProtocolSettings>
</StorageServiceProperties>  
  

不需要在请求上指定每个根元素。 如果省略根元素,则会保留该服务的现有功能设置。 但是,如果确实指定了特定的根元素,则必须为该元素指定每个子元素。 根元素包括:

  • HourMetrics
  • MinuteMetrics
  • Cors
  • ProtocolSettings

下表描述了请求正文的元素:

名称 DESCRIPTION
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 可选。 版本 2015-02-21 及更高版本支持该 Cors 元素。 对所有跨域资源共享(CORS)规则进行分组。 省略此元素组不会覆盖现有的 CORS 设置。
CorsRule 可选。 指定文件服务的 CORS 规则。 请求中最多可以包含五 CorsRule 个元素。 如果请求正文中不包含任何 CorsRule 元素,则删除所有 CORS 规则,并且文件服务禁用 CORS。
AllowedOrigins 如果元素存在,则 CorsRule 为必需。 通过 CORS 或“*”允许的所有域的源域的逗号分隔列表。 源域还可以在子域中包含通配符,以允许通过 CORS 请求域的所有子域。 限制为 64 个源域。 每个允许的源最多可以有 256 个字符。
ExposedHeaders 如果元素存在,则 CorsRule 为必需。 要向 CORS 客户端公开的响应标头的逗号分隔列表。 限制为 64 个定义的标头和两个前缀标头。 每个标头最多可以包含 256 个字符。
MaxAgeInSeconds 如果元素存在,则 CorsRule 为必需。 客户端/浏览器应缓存预检响应的秒数。
AllowedHeaders 如果元素存在,则 CorsRule 为必需。 允许作为跨源请求的一部分的标头的逗号分隔列表。 限制为 64 个定义的标头和 2 个前缀标头。 每个标头最多可以包含 256 个字符。
AllowedMethods 如果 CorsRule 元素存在,则为必需。 允许由源执行的 HTTP 方法的逗号分隔列表。 对于 Azure 文件存储,允许的方法包括DELETEGETHEADMERGEPOST、和OPTIONSPUT
ShareDeleteRetentionPolicy 可选。 此存储帐户中 Azure 文件共享的软删除属性。
Days 可选。 指示应保留 Azure 文件共享的天数(软删除)。 可以指定的最小值是 1,最大值为 365 (一年)。
Enabled 可选。 指示存储帐户是否为 Azure 文件存储启用了软删除。
ProtocolSettings 可选。 对文件系统协议的设置进行分组。
SMB 可选。 对 SMB 的设置进行分组。
Multichannel 可选。 包含 SMB 多通道的设置。 SMB 多通道包含 Enabled 布尔属性,该属性切换 SMB 多通道的状态。
Versions 可选版本 2020-04-08。 允许的 SMB 版本的分号分隔列表。 允许使用的值为 SMB2.1SMB3.0SMB3.1.1
AuthenticationMethods 可选版本 2020-04-08。 允许的身份验证方法的分号分隔列表。 允许的值为 NTLMv2Kerberos
KerberosTicketEncryption 可选版本 2020-04-08。 允许的 Kerberos 票证加密算法的分号分隔列表。 允许的值为 RC4-HMACAES-256
ChannelEncryption 可选版本 2020-04-08。 允许的 SMB 通道加密算法的分号分隔列表。 允许使用的值为 AES-128-CCMAES-128-GCMAES-256-GCM

响应

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

状态代码

成功的作返回状态代码 202(已接受)。

响应标头

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

响应头 DESCRIPTION
x-ms-request-id 一个唯一标识针对服务发出的请求的值。
x-ms-version 指定用于响应的作的版本。 有关详细信息,请参阅 Azure 存储服务的版本控制
x-ms-client-request-id 可用于对请求和相应的响应进行故障排除。 如果标头存在于请求中,则标头的值等于标头的值 x-ms-client-request-id ,并且该值包含不超过 1,024 个可见 ASCII 字符。 如果请求中不存在 x-ms-client-request-id 标头,则响应中不会显示该标头。

响应体

没有。

授权

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

注解

以下限制和限制适用于 Azure 文件中的 CORS 规则:

  • 最多可以存储五个规则。

  • 请求上所有 CORS 规则设置的最大大小(不包括 XML 标记)不应超过 2 KiB。

  • 允许的标头、公开的标头或允许的源的长度不应超过 256 个字符。

  • 允许的标头和公开的标头可以是以下任一项:

    • 文本标头,其中提供了确切的标头名称,例如 x-ms-meta-processed。 请求最多可以指定 64 个文本标头。

    • 前缀标头,其中提供了标头的前缀,例如 x-ms-meta-data*。 以这种方式指定前缀允许或公开以该前缀开头的任何标头。 请求最多可以指定两个前缀标头。

  • 元素中指定的 AllowedMethods 方法(或 HTTP 谓词)必须符合 Azure 存储服务 API 支持的方法。 支持的方法包括DELETE、、GETHEADMERGEPOSTOPTIONSPUT

在请求上指定 CORS 规则是可选的。 如果在请求正文中未指定 CORS 元素的情况下调用 Set File Service Properties ,则维护任何现有的 CORS 规则。

若要禁用 CORS,请使用空的 CORS 规则设置(即</Cors>)和没有内部 CORS 规则进行调用Set File Service Properties。 此调用将删除任何现有规则,并禁用文件服务的 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 存储服务的跨域资源共享支持

有关存储分析的详细信息,请参阅 存储分析