舊版 Azure 記憶體

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

可用的版本

目前的 Azure 記憶體版本是 2023-11-03,建議您盡可能使用該版本。 如需最新版本的相關信息,請參閱 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 儲存體、佇列儲存體與表格儲存體

下列範例示範使用 呼叫列出 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:

  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 版或更新版本的 設定容器 ACL 作業,則會使用 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 版或更新版本,將容器設定為公用,則會使用 設定容器 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 記憶體的版本設定