設定檔案服務屬性
作業會 Set File Service Properties
使用 FileREST API 來設定 File 服務資源的屬性。 雖然完全支援此 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-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-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 |
唯有啟用度量時方為必要項。 指出度量是否應該產生所呼叫之應用程式開發介面作業的摘要統計資料。 |
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 檔案儲存體,允許的方法為 DELETE 、 GET 、、 POST OPTIONS HEAD MERGE 和 。 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 |
可用來針對要求和對應的回應進行疑難排解。 如果標頭存在於要求中,標頭的值會等於標頭的值 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,請使用空的 CORS 規則設定 (來呼叫 Set File Service Properties
, </Cors>
也就是) 且沒有內部 CORS 規則。 此呼叫會刪除任何現有的規則,並停用 File 服務的 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 儲存體服務的跨原始來源資源分享支援。
如需儲存體分析的詳細資訊,請參閱儲存體分析。