設定 Blob 服務屬性
本文為機器翻譯文章。如需檢視英文版,請選取 [原文] 核取方塊。您也可以將滑鼠指標移到文字上,即可在快顯視窗顯示英文原文。
譯文
原文

設定 Blob 服務屬性

 

Set Blob Service Properties 作業會設定儲存體帳戶的 Blob 服務端點,其中包含屬性的屬性 儲存體分析 和 CORS (跨原始資源共用) 規則。 請參閱 跨原始資源共用 (CORS) 支援 Azure 儲存體服務 如需有關 CORS 規則。

您也可以使用這項作業設為 [沒有指定版本的 Blob 服務的所有連入要求的預設要求版本。

Set Blob Service Properties 要求可能會指定,如下所示。 建議使用 HTTPS。 取代 <account-name> 的儲存體帳戶名稱 ︰

方法

要求 URI

HTTP 版本

PUT

https://<account-name>.blob.core.windows.net/?restype=service&comp=properties

HTTP/1.1

請注意,URI 一律需包含正斜線 (/) 來分隔 URI 的路徑和查詢部分中的主機名稱。 在此作業,URI 的路徑部分是空的。

URI 參數

描述

restype=service&comp=properties

必要的。 若要設定儲存體服務屬性,需要兩個查詢字串的組合。

timeout

選擇性的。 timeout 參數以秒為單位。 如需詳細資訊,請參閱 設定 Blob 服務作業的逾時值

下表描述必要和選擇性要求標頭。

要求標頭

描述

Authorization

必要的。 指定驗證配置、 儲存體帳戶名稱和簽章。 如需詳細資訊,請參閱 Azure 儲存體服務的驗證

Datex-ms-date

必要的。 指定要求的國際標準時間 (UTC)。 如需詳細資訊,請參閱 Azure 儲存體服務的驗證

x-ms-version

所需的所有已驗證要求。 指定要用於此要求之作業的版本。 如需詳細資訊,請參閱 Azure 儲存體服務版本控制

x-ms-client-request-id

選擇性的。 具有 1 KB 的字元限制的儲存體分析記錄啟用時,會記錄在分析記錄檔中提供用戶端產生的不透明值。 用戶端活動與伺服器收到的要求產生關聯,強烈建議使用此標頭。 如需詳細資訊,請參閱 關於儲存體分析記錄 和 Azure 記錄:使用記錄檔追蹤儲存體要求http://blogs.msdn.com/b/windowsazurestorage/archive/2011/08/03/windows-azure-storage-logging-using-logs-to-track-storage-requests.aspx。

2012-02-12 版及更早版本,要求主體的格式如下 ︰

<?xml version="1.0" encoding="utf-8"?>
<StorageServiceProperties>
    <Logging>
        <Version>version-number</Version>
        <Delete>true|false</Delete>
        <Read>true|false</Read>
        <Write>true|false</Write>
        <RetentionPolicy>
            <Enabled>true|false</Enabled>
            <Days>number-of-days</Days>
        </RetentionPolicy>
    </Logging>
    <Metrics>
        <Version>version-number</Version>
        <Enabled>true|false</Enabled>
        <IncludeAPIs>true|false</IncludeAPIs>
        <RetentionPolicy>
            <Enabled>true|false</Enabled>
            <Days>number-of-days</Days>
        </RetentionPolicy>
    </Metrics>
    <!-- The DefaultServiceVersion element can only be set for the Blob service and the request must be made using version 2011-08-18 or later -->
    <DefaultServiceVersion>default-service-version-string</DefaultServiceVersion>
</StorageServiceProperties>

2013-08-15 版和更新版本中,要求主體的格式如下 ︰

<?xml version="1.0" encoding="utf-8"?>
<StorageServiceProperties>
    <Logging>
        <Version>version-number</Version>
        <Delete>true|false</Delete>
        <Read>true|false</Read>
        <Write>true|false</Write>
        <RetentionPolicy>
            <Enabled>true|false</Enabled>
            <Days>number-of-days</Days>
        </RetentionPolicy>
    </Logging>
    <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>
    <!-- The DefaultServiceVersion element can only be set for the Blob service and the request must be made using version 2011-08-18 or later -->
    <DefaultServiceVersion>default-service-version-string</DefaultServiceVersion>
</StorageServiceProperties>

從 2013年-08-15 版開始,您可以呼叫 Set Blob Service Properties 要求主體中指定的一或多個根元素。 根項目包括 ︰

  • 記錄

  • HourMetrics

  • MinuteMetrics

  • Cors

  • DefaultServiceVersion

不再需要在要求上指定每一個根元素。 如果您省略根項目時,會保留服務該項功能的現有設定。 不過,如果您指定的給定的根項目,您必須指定該項目的每個子元素。

下表描述要求主體的元素:

項目名稱

描述

記錄

開始為選擇性 2013年-08-15 版。 較早版本的必要項。 群組 Azure 分析 記錄 設定。

度量

需要 2012年-02-12 版及更早版本。 沒有適用於 2013年-08-15 版或更新版本。 群組 Azure 分析 度量 設定。度量 設定提供依 API 分組,對 blob 進行每小時彙總的要求統計資料的摘要。

HourMetrics

選擇性的 2013年-08-15 版或更新版本。較舊的版本不適用。 群組 Azure 分析 HourMetrics 設定。HourMetrics 設定提供依 API 分組,對 blob 進行每小時彙總的要求統計資料的摘要。

MinuteMetrics

選擇性的 2013年-08-15 版或更新版本。較舊的版本不適用。 群組 Azure 分析 MinuteMetrics 設定。MinuteMetrics 設定提供 blob 每一分鐘的要求統計資料。 2013-08-15 之前的版本為 MinuteMetrics 未包含在回應主體。

版本

只有在 記錄, ,度量, ,HourMetrics, ,或 MinuteMetrics 指定的設定。 若要設定的儲存體分析版本。

刪除

只有在 記錄, ,度量, ,HourMetrics, ,或 MinuteMetrics 指定的設定。 僅適用於記錄組態。 指出是否應該記錄所有刪除要求。

讀取

只有在 記錄, ,度量, ,HourMetrics, ,或 MinuteMetrics 指定的設定。 僅適用於記錄組態。 指出是否應該記錄所有讀取的要求。

寫入

只有在 記錄, ,度量, ,HourMetrics, ,或 MinuteMetrics 指定的設定。 僅適用於記錄組態。 表示是否所有寫入要求應該被記錄下來。

已啟用

必要的。 指出是否已啟用 Blob 服務的度量。

如果已啟用讀取存取地理區域備援複寫,則會收集主要和次要度量。 如果未啟用讀取存取地理區域備援複寫,會收集主要度量。

IncludeAPIs

只有需要已啟用度量。 只適用於度量組態。 指出度量是否應該產生所呼叫之 API 作業的摘要統計資料。

RetentionPolicy/啟用

必要的。 指出是否啟用儲存體服務的保留原則。

RetentionPolicy/不同天

如果啟用保留原則時才需要。 表示應該保留度量或記錄資料的天數。 將刪除所有超過此值的資料。 您可以指定最小值是 1; 最大值是 365 (一年)。

DefaultServiceVersion

選擇性的。 若要設定 DefaultServiceVersion, ,您必須呼叫 Set Blob Service Properties 使用 2011年-08-18 版或更新版本。DefaultServiceVersion 指出要使用 Blob 服務的要求,如果未指定連入要求的版本時的預設版本。 可能的值包括 2008年-10-27 版及所有較新版本。 如需適用版本的詳細資訊,請參閱 Azure 儲存體服務版本控制

僅適用於 Blob 服務。

Cors

選擇性的。Cors 項目是支援 2013年-08-15 版或更新版本。 分組所有 CORS 規則。

省略此元素群組不會覆寫現有的 CORS 設定。

CorsRule

選擇性的。 指定 Blob 服務的 CORS 規則。 您可以包含最多五個 CorsRule 要求中的項目。 如果沒有 CorsRule 元素包含在要求主體中,會刪除所有 CORS 規則,將對 Blob 服務停用 CORS。

AllowedOrigins

只有在 CorsRule 項目不存在。 以逗號分隔清單的原始網域透過 CORS,允許或"*",允許所有網域。 限制為 64 個原始網域。 每個允許的原始網域可以有多達 256 個字元。

ExposedHeaders

只有在 CorsRule 項目不存在。 向 CORS 用戶端公開的回應標頭以逗號分隔清單。 限制為 64 個定義的標頭和兩個帶有前置詞的標頭。 每個標頭可以是最多 256 個字元。

MaxAgeInSeconds

只有在 CorsRule 項目不存在。 用戶端/瀏覽器應快取預檢回應的秒數。

AllowedHeaders

只有在 CorsRule 項目存在。 允許併入跨原始要求的標頭以逗號分隔清單。 限制為 64 個定義的標頭和 2 個帶有前置詞的標頭。 每個標頭可以是最多 256 個字元。

AllowedMethods

只有在 CorsRule 項目存在。 執行由原始網域的 HTTP 方法以逗號分隔清單。 Azure 儲存體,允許的方法為 DELETE、 GET、 HEAD、 合併、 文章、 選項或 PUT。

回應包括 HTTP 狀態碼和一組回應標頭。

成功的作業會傳回狀態碼 202 (已接受)。

如需狀態碼的詳細資訊,請參閱 服務管理狀態和錯誤碼。

這項作業的回應包括下列標頭。 回應也可能包括其他標準 HTTP 標頭。 所有標準標頭都符合 HTTP/1.1 通訊協定規格http://go.microsoft.com/fwlink/?linkid=150478。

回應標頭

描述

x-ms-request-id

唯一識別對服務發出之要求的值。

x-ms-version

指定作業回應所使用的版本。 如需詳細資訊,請參閱 Azure 儲存體服務版本控制

只有帳戶擁有者可以呼叫此作業。

下列限制事項適用於 Azure 儲存體的 CORS 規則 ︰

  • 可以儲存最多五個規則。

  • 所有的 CORS 規則設定在要求中,排除 XML 標記的大小上限不應該超過 2 KB。

  • 允許的標頭、 公開的標頭或允許的原始網域的長度不可超過 256 個字元。

  • 允許的標頭和公開的標頭可以是 ︰

    • 常值標頭,其中的確切的標頭名稱已提供,例如 x-ms-中繼-處理。 可以在要求中指定最多 64 個常值標頭。

    • 前置詞的標頭,其標頭的前置詞會提供,例如 x-ms-中繼-資料 *。 以這種方式指定前置詞,允許或公開以給定前置詞開頭的任何標頭。 可以在要求中指定兩個帶有前置詞的標頭的最大值。

  • 中指定的方法 (或 HTTP 動詞命令) AllowedMethods 項目必須符合 Azure 儲存體服務 Api 支援的方法。 支援的方法為 DELETE、 GET、 HEAD、 合併、 文章、 選項和 PUT。

在要求上指定 CORS 規則是選擇性的。 如果您呼叫 Set Blob Service Properties 但未指定 Cors 項目,在要求主體中,任何現有的 CORS 規則進行維護。

若要停用 CORS,請呼叫 Set Blob Service Properties 與空的 CORS 規則設定 (即</Cors>) 和不含內部 CORS 規則。 此呼叫將會刪除任何現有的規則,對 Blob 服務停用 CORS。

如果所有的 CORS 規則元素皆為必要 CorsRule 指定項目。 要求將會失敗,錯誤碼 400 (Bad Request) 如果遺漏任何元素。

從 2013年-08-15 版開始,XML 的設定項目會為選擇性,所以更新特定的項目可透過傳送 XML 只包含更新的項目和其他設定不會受到影響。

如需 CORS 規則和評估邏輯的詳細資訊,請參閱 跨原始資源共用 (CORS) 支援 Azure 儲存體服務

下列範例 URI 會要求變更虛構儲存體帳戶的 Blob 服務屬性 myaccount:

PUT https://myaccount.blob.core.windows.net/?restype=service&comp=properties HTTP/1.1

包含下列標頭所傳送的要求:

x-ms-version: 2013-08-15
x-ms-date: Mon, 21 Oct 2013 04:28:19 GMT
Authorization: SharedKey
myaccount:Z1lTLDwtq5o1UYQluucdsXk6/iB7YxEu0m6VofAEkUE=
Host: myaccount.blob.core.windows.net

下列 XML 主體所傳送的要求:

<?xml version="1.0" encoding="utf-8"?>
<StorageServiceProperties>
    <Logging>
        <Version>1.0</Version>
        <Delete>true</Delete>
        <Read>false</Read>
        <Write>true</Write>
        <RetentionPolicy>
            <Enabled>true</Enabled>
            <Days>7</Days>
        </RetentionPolicy>
    </Logging>
    <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>
    <DefaultServiceVersion>2013-08-15</DefaultServiceVersion>
</StorageServiceProperties>

傳送要求之後,會傳回下列回應:

HTTP/1.1 202 Accepted
Connection: Keep-Alive
Transfer-Encoding: chunked
Date: Mon, 21 Oct 2013 04:28:21 GMT
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
x-ms-request-id: cb939a31-0cc6-49bb-9fe5-3327691f2a30
x-ms-version: 2013-08-15

顯示:
© 2016 Microsoft