共用方式為


設定檔案服務屬性

作業會 Set File Service Properties 使用 FileREST API 來設定 File 服務資源的屬性。 雖然完全支援此 API,但它是舊版管理 API。 建議您改用 檔案服務 - 設定服務屬性,這是由 Azure 記憶體資源提供者提供(Microsoft.Storage)。 若要深入瞭解如何使用 Azure 記憶體資源提供者以程式設計方式與檔案服務資源互動,請參閱 檔案服務上的作業

通訊協定可用性

已啟用檔案共享通訊協定 有現貨
中小企業 (SMB) 是的
網路檔案系統 (NFS) 是的

請求

您可以指定 Set File Service Properties 要求,如下所示。 建議您使用 HTTPS。 以記憶體帳戶的名稱取代 account-name

方法 請求網址識別碼 (URI) HTTP 版本
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-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

下表說明要求本文的元素:

名稱 說明
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 檔案服務,允許的方法為 、、、、、、 和 。 HEADDELETEGETPUTOPTIONSPOSTMERGE
ShareDeleteRetentionPolicy 選擇性。 此記憶體帳戶中 Azure 檔案共用的虛刪除屬性。
Days 選擇性。 指出應該保留 Azure 檔案共用的天數(虛刪除)。 您可以指定的最小值為 1,最大值為 365 (一年)。
Enabled 選擇性。 指出記憶體帳戶是否已啟用 Azure 檔案記憶體的虛刪除。
ProtocolSettings 選擇性。 將檔案系統通訊協議的設定分組。
SMB 選擇性。 將SMB的設定分組。
Multichannel 選擇性。 包含SMB多重通道的設定。 SMB 多重通道包含 Enabled Boolean 屬性,可切換 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 通訊協定規格,

回應標頭 說明
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、、GETHEADMERGEPOSTOPTIONS、 和 PUT

在要求上指定 CORS 規則是選擇性的。 如果您在要求本文中未指定 CORS 元素的情況下呼叫 Set File Service Properties ,則會維護任何現有的 CORS 規則。

若要停用 CORS, Set File Service Properties 請使用空白 CORS 規則設定呼叫 (也就是 </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 記憶體服務的跨原始來源資源分享支援

如需記憶體分析的詳細資訊,請參閱 記憶體分析