舊版 Azure 記憶體
Azure 記憶體支援多個版本。 若要對記憶體提出要求,您必須指定您想要用於該作業的版本,除非要求是匿名的。
可用的版本
目前的 Azure 記憶體版本是 2023-11-03,建議您盡可能使用該版本。 如需最新版本的相關信息,請參閱 Azure 記憶體的版本控制。
其他支援的版本包括:
透過共用存取簽章授權的要求
系統會根據您用來產生 SAS 的版本,處理透過共用存取簽章提出的要求。 版本 2013-08-15 和 2012-02-12 包含版本控制參數 (SignedVersion
或 sv
) ,它會指定要用來授權和執行 SAS 要求的版本。
版本 2012-02-12 和更新版本
使用 2012-02-12 版或更新版本所產生的共用存取簽章要求需要 SignedVersion (sv)
參數。 SignedVersion
表示用於授權和呼叫 API 作業的服務版本。 x-ms-version
如果標頭在要求上傳遞,則會予以忽略。 SignedVersion (sv)
只有 參數會決定服務版本,以用來處理透過共用存取簽章提出的要求。
注意
針對 2013-08-15 版和更早版本,請確定準備和散發共用存取簽章 URL 的服務 (也就是共用存取簽章提供者或產生器,) 指定客戶端軟體所瞭解的 Azure 記憶體服務版本 (,也就是共用存取簽章取用者) 。
下表指出哪些服務支持哪個版本,以透過共用存取簽章提出要求:
SignedVersion (sv) 參數的值 |
支援服務 |
---|---|
2015-12-11 | 所有 (Azure Blob 儲存體、Azure 佇列記憶體、Azure 數據表記憶體和 Azure 檔案儲存體) |
2015-04-05 | 所有 (Blob 記憶體、佇列記憶體、數據表記憶體和 Azure 檔案儲存體) |
2015-02-21 | 所有 (Blob 記憶體、佇列記憶體、數據表記憶體和 Azure 檔案儲存體) |
2014-02-14 | Blob 儲存體、佇列儲存體與表格儲存體 |
2013-08-15 | Blob 儲存體、佇列儲存體與表格儲存體 |
2012-02-12 | Blob 儲存體、佇列儲存體與表格儲存體 |
下列範例示範使用 呼叫列出 Blob 的sv=2013-08-15
共用存取簽章。
https://myaccount.blob.core.windows.net/mycontainer?restype=container&comp=list&sv=2013-08-15&si=readpolicy&sig=a39 %2BYozJhGp6miujGymjRpN8tsrQfLo9Z3i8IRyIpnQ%3d
在此範例中,服務會使用 2013-08-15 版來授權並執行要求。 回應不會在 元素下Blob
包含 Url
元素,因為它已在 2013-08-15 版本中移除。
如果用戶端應用程式使用以 2012-02-12 版為基礎的記憶體用戶端連結庫版本,並提出使用此共用存取簽章的要求,用戶端會預期 Uri
元素。 因此,要求會失敗並出現 NullReferenceException
。
2012-02-12 之前的版本只會 (Blob 記憶體)
Blob 記憶體在 2009-07-17 版中引進了共用存取簽章。 數據表記憶體和佇列記憶體在 2012-02-12 版中引進了共用存取簽章,因此 2012-02-12 版之前的共用存取簽章行為僅適用於 Blob 記憶體。
版本 2012-02-12 也引進 SignedVersion (sv)
參數,可讓共用存取簽章產生器指定用來處理要求的版本。 與 2012-02-12 之前版本產生的共用存取簽章無法指定要用來處理要求的版本,因此依賴下列規則來執行授權和 API:
如果要求具有有效的
x-ms-version
標頭,則會使用最早的有效版本 (2009-07-17) 來解譯共用存取簽章參數。 指定的x-ms-version
版本是用來執行 Blob 記憶體作業。如果要求沒有
x-ms-version
標頭,而且擁有者已使用 設定 Blob 記憶體屬性來設定預設版本,則會使用 2009-07-17 版來解譯參數。 擁有者指定的預設版本是用來執行 Blob 記憶體作業。如果要求沒有
x-ms-version
標頭,而且擁有者尚未設定預設版本,Blob 記憶體會使用最早的有效版本 (2009-07-17) 來解譯參數。 如果容器是公用的,且其存取限制是使用 2009-09-19 版或更新版本的 設定容器 ACL 作業,則會使用 2009-09-19 版來執行 Blob 記憶體作業。如果要求沒有
x-ms-version
標頭,而且擁有者尚未設定預設版本,Blob 記憶體會使用最早的有效版本 (2009-07-17) 來解譯參數。 如果未使用使用 2009-09-19 版或更新版本的 設定容器 ACL 作業來設定容器存取限制,則會使用最早的服務版本來執行 Blob 記憶體作業。
下表會將這些規則套用至各種案例,並假設 SignedVersion
不包含 參數。
x-ms-version 標頭的值 | 用來解譯 Blob 記憶體授權和授權參數的版本 | 用來執行 Blob 記憶體作業的版本 |
---|---|---|
無 | 最早的有效共用存取簽章版本 (2009-07-17) | 如果使用 2009-09-19 版或更新版本,將容器設定為公用,則會使用 設定容器 ACL 的公用。 否則,會使用最早的 Blob 記憶體版本。 |
2011-08-18 | 最早的有效共用存取簽章版本 (2009-07-17) | 2011-08-18. |
任何版本 XXXX-XX-XX | 最早的有效共用存取簽章版本 (2009-07-17) | 版本 XXXX-XX-XX |
注意
Microsoft 建議針對需要引號 ETag
值或有效 Accept-Ranges
響應標頭的案例,使用 2011-08-18 版或更新版本。 瀏覽器和其他串流用戶端需要這些標頭,以便有效率地下載和重試。