作業會 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 檔案服務,允許的方法為 、、、、、、 和 。 HEAD DELETE GET PUT OPTIONS POST MERGE |
ShareDeleteRetentionPolicy |
選擇性。 此記憶體帳戶中 Azure 檔案共用的虛刪除屬性。 |
Days |
選擇性。 指出應該保留 Azure 檔案共用的天數(虛刪除)。 您可以指定的最小值為 1 ,最大值為 365 (一年)。 |
Enabled |
選擇性。 指出記憶體帳戶是否已啟用 Azure 檔案記憶體的虛刪除。 |
ProtocolSettings |
選擇性。 將檔案系統通訊協議的設定分組。 |
SMB |
選擇性。 將SMB的設定分組。 |
Multichannel |
選擇性。 包含SMB多重通道的設定。 SMB 多重通道包含 Enabled Boolean 屬性,可切換 SMB 多重通道的狀態。 |
Versions |
選擇性自 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 |
可用來針對要求和對應的回應進行疑難解答。 如果標頭存在於要求中,標頭的值會等於標頭的值 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
、、GET
、HEAD
MERGE
、POST
、OPTIONS
、 和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 記憶體服務的跨原始來源資源分享支援。
如需記憶體分析的詳細資訊,請參閱 記憶體分析。