銷售: 1-800-867-1380

為 Windows Azure 中的 Blob、佇列和表格服務進行版本設定

更新日期: 2015年8月

Microsoft Azure 儲存體服務支援多個版本。若要對儲存體服務提出要求,您必須指定要用於該作業的版本,除非版本不明。

Azure 儲存體服務的目前版本為 2014-02-14,建議您盡可能使用該版本。如需所有其他支援版本的清單,以及如需使用每個版本的詳細資訊,請參閱 Azure 儲存體服務 2013-08-15 版及更早版本

2014-02-14 版包含下面變更:

  • 有了新的 Microsoft Azure 檔案服務,在 Microsoft Azure 資料中心中執行的虛擬機器 (VM) 便可以使用 SMB 裝載共用的檔案系統,以及使用標準的 Windows 檔案 API 來存取檔案系統。多個 VM (或雲端服務中執行的角色) 可以並行附加至這些檔案系統,因此您可以輕鬆在各種角色與執行個體之間共用持續性資料。檔案服務 REST API 與 Blob 服務 API 類似,並且在 Windows 檔案 API 以外,提供存取檔案的其他方式。如需詳細資訊,請參閱<檔案服務 REST API>。

  • 除了 SignedVersion (sv) 參數,共用存取簽章現在還支援 api-version 參數。這些參數可讓您控制使用哪個儲存體服務版本來驗證和授權要求,以及使用哪個版本來執行 API 作業。請參閱以下標題為<使用共用存取簽章驗證的要求>的小節。

您指定用於要求之儲存體服務版本的方式,與驗證該要求的方式有關。下一節說明驗證選項,以及指定每個服務版本的方式:

  1. 使用共用金鑰或共用金鑰 Lite 的要求。若要使用共用金鑰/共用金鑰 Lite 驗證要求,您必須在要求中傳遞 x-ms-version 標頭。在 Blob 服務的情況下,您可以透過呼叫 設定 Blob 服務屬性 來指定所有要求的預設版本。

  2. 使用共用存取簽章 (SAS) 的要求。您可以對共用存取簽章指定兩個版本設定選項。若有指定,選用的 api-version 標頭會指出要用來執行 API 作業的服務版本。SignedVersion (sv) 參數可指定要用來授權與驗證 SAS 所提出之要求的服務版本。若未指定 api-version 標頭,則 SignedVersion (sv) 參數的值也會指出要用來執行 API 作業的版本。

  3. 使用匿名存取的要求。在匿名存取 Blob 服務的情況下,不會傳入任何版本;以下說明針對要求所使用之版本的啟發學習法。

若要使用共用金鑰/共用金鑰 Lite 驗證要求,請在要求中指定 x-ms-version 標頭。您必須使用 YYYY-MM-DD 的格式指定 x-ms-version 要求標頭值。例如:

Request Headers:
x-ms-version: 2014-02-14

下列規則指出如何對使用共用金鑰/共用金鑰 Lite 的要求進行評估,以決定要在處理要求時使用的版本。

  • 如果要求具有效的 x-ms-version 標頭,儲存體服務會使用指定的版本。不使用共用存取簽章的所有資料表和佇列服務要求必須指定 x-ms-version 標頭。未使用共用存取簽章的所有 Blob 服務要求,必須指定 x-ms-version 標頭,除非已設定預設版本 (如下所示)。

  • 如果 Blob 服務的要求不包含 x-ms-version 標頭,但是帳戶擁有者已使用設定 Blob 服務屬性設定預設版本,則會使用擁有者指定的預設版本做為要求的版本。

使用 2014-02-14 版產生的共用存取簽章 (SAS) 支援兩個版本設定選項:

  • api-version 查詢參數可定義要用於處理使用 SAS 所提出之要求的 REST 通訊協定版本。

  • SignedVersion (sv) 查詢參數可定義要用於驗證和授權的 SAS 版本。

當用戶端使用 SAS 提出要求時,SignedVersion 查詢參數可用於驗證和授權。驗證和授權參數,例如 sisrspsigstsetnspksrkepkerk 均是使用 2014-02-14 版來加以解譯。

REST 通訊協定參數,例如 rsccrscdrscersclrsct 則是使用 api-version 參數標頭中提供的版本來強制執行。如果未指定 api-version 標頭,則會使用對 SignedVersion 提供的服務版本。

請注意,api-version 參數並不屬於建構共用存取簽章 URI 所述的驗證中 string-to-sign 的一部份。

下表說明服務所使用的版本設定配置,用於驗證和授權,以及在 SignedVersion 參數設定為 2014-02-14 版或更新版本時呼叫 REST 通訊協定。

 

api-version 參數的值 用於驗證和授權的版本 用於通訊協定行為的版本

未指定

sv 參數中指定的版本

sv 參數中指定的版本

格式 XXXX-XX-XX 的任何有效儲存體服務版本

sv 參數中指定的版本

XXXX-XX-XX 版的有效儲存體服務版本

範例 1

下列範例要求會呼叫 列出 Blob,使用 sv=2014-02-14 而不使用 api-version 參數。

https://myaccount.blob.core.windows.net/mycontainer?restype=container&comp=list&sv=2014-02-14&si=readpolicy&sig=a39 %2BYozJhGp6miujGymjRpN8tsrQfLo9Z3i8IRyIpnQ%3d

在此情況下,服務會使用 2014-02-14 版驗證並授權要求,也會使用 2014-02-14 版執行作業。

範例 2

下列範例要求會呼叫 列出 Blob,使用 sv=2014-02-14 並使用 api-version 參數。

https://myaccount.blob.core.windows.net/mycontainer?restype=container&comp=list&sv=2014-02-14&si=readpolicy&sig=a39 %2BYozJhGp6miujGymjRpN8tsrQfLo9Z3i8IRyIpnQ%3d&api-version=2012-02-12

在此處,服務會使用 2014-02-14 版驗證並授權要求,並使用 2012-02-12 版執行作業。

note附註
.NET 儲存體用戶端程式庫一律會將 REST 通訊協定版本 (在 api-version 參數中) 設定為其依據的版本。

如果 Blob 服務的要求未指定 x-ms-version 標頭,並且未使用 設定 Blob 服務屬性 來設定服務的預設版本,則會使用最早版本的 Blob 服務來處理要求。不過,如果容器是使用 2009-09-19 或更新版本的 設定容器 ACL 作業來公開,則會使用 2009-09-19 版來處理要求。

另請參閱

本文對您有任何幫助嗎?
(剩餘 1500 個字元)
感謝您提供意見
顯示:
© 2015 Microsoft