共用方式為


舊版 Azure 記憶體

Azure 記憶體支援多個版本。 若要對記憶體提出要求,您必須指定您想要用於該作業的版本,除非要求是匿名的。

可用的版本

目前版本的 Azure 記憶體是 2024-11-04,並盡可能使用該版本。 如需最新版本的相關信息,請參閱 azure 記憶體的 版本控制。

其他支援的版本包括:

透過共用存取簽章授權的要求

系統會根據您用來產生 SAS 的版本,處理透過共用存取簽章提出的要求。 版本 2013-08-15 和 2012-02-12 包含版本控制參數 (SignedVersionsv),指定要用來授權和執行 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 記憶體、佇列記憶體和數據表記憶體

下列範例示範使用 sv=2013-08-15呼叫 清單 Blob 的共用存取簽章。

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:

  1. 如果要求具有有效的 x-ms-version 標頭,則會使用最早的有效版本 (2009-07-17) 來解譯共用存取簽章參數。 x-ms-version 指定的版本可用來執行 Blob 記憶體作業。

  2. 如果要求沒有 x-ms-version 標頭,且擁有者已使用 設定 Blob 記憶體屬性來設定預設版本,則會使用 2009-07-17 版來解譯參數。 擁有者指定的預設版本是用來執行 Blob 記憶體作業。

  3. 如果要求沒有 x-ms-version 標頭,且擁有者尚未設定預設版本,Blob 記憶體會使用最早的有效版本 (2009-07-17) 來解譯參數。 如果容器是公用的,且其存取限制是使用使用 2009-09-19 版或更新版本 2009-09-19 的 設定容器 A CL 作業來設定,則會使用 2009-09-19 版來執行 Blob 記憶體作業。

  4. 如果要求沒有 x-ms-version 標頭,且擁有者尚未設定預設版本,Blob 記憶體會使用最早的有效版本 (2009-07-17) 來解譯參數。 如果未使用使用 2009-09-19 版或更新版本的 設定容器 ACL 作業來設定容器存取限制,Blob 儲存體作業會使用最早的服務版本來執行。

下表將這些規則套用至各種案例,並假設不包含 SignedVersion 參數。

x-ms-version 標頭的值 用來解譯 Blob 記憶體授權和授權參數的版本 用來執行 Blob 記憶體作業的版本
沒有 最早有效的共用存取簽章版本 (2009-07-17) 如果使用 2009-09-19 版,使用 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 版或更新版本。 瀏覽器和其他串流用戶端需要這些標頭,以有效率地下載和重試。

另請參閱

適用於 Azure 記憶體 的 版本控制