銷售: 1-800-867-1380

快照集 Blob (REST 應用程式開發介面)

發佈時間: 2011年8月

更新日期: 2014年12月

Snapshot Blob 作業可建立 Blob 的唯讀快照集。

Snapshot Blob 要求的建構如下。建議使用 HTTPS。請以您的儲存體帳戶名稱取代 myaccount

 

  PUT 方法要求 URI HTTP 版本

https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=snapshot

HTTP/1.1

對模擬儲存體服務提出要求時,請將模擬器主機名稱和 Blob 服務通訊埠指定為 127.0.0.1:10000,後面接著模擬帳戶名稱:

 

  PUT 方法要求 URI HTTP 版本

http://127.0.0.1:10000/devstoreaccount1/mycontainer/myblob?comp=snapshot

HTTP/1.1

如需詳細資訊,請參閱使用 Azure 儲存體模擬器進行開發和測試

您可以在要求的 URI 中指定下列其他參數。

 

參數 描述

timeout

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

下表描述必要的和選用的要求標頭。

 

要求標頭 描述

Authorization

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

Datex-ms-date

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

x-ms-version

所有已驗證要求的必要項。指定用於這個要求的作業版本。如需詳細資訊,請參閱為 Windows Azure 中的 Blob、佇列和表格服務進行版本設定

x-ms-meta-name:value

選擇性。指定與 Blob 相關聯之使用者定義的名稱/值組。如果未指定名稱/值組,這項作業會將基底 Blob 的中繼資料複製到快照集。如果指定了一個或多個名稱/值組,則會使用指定的中繼資料建立快照集,而不會從基底 Blob 複製中繼資料。

請注意,從 2009-09-19 版開始,中繼資料名稱必須遵守 C# 識別碼的命名規則。如需詳細資訊,請參閱<命名和參考容器、Blob 及中繼資料>。

If-Modified-Since

選擇性。DateTime 值。只有在指定日期/時間修改 Blob 時,才能指定此條件式標頭以擷取 Blob 的快照集。如果未修改基底 Blob,Blob 服務會傳回狀態碼 412 (先決條件失敗)。

If-Unmodified-Since

選擇性。DateTime 值。只有在指定日期/時間未修改 Blob 時,才能指定此條件式標頭以擷取 Blob 的快照集。如果已修改基底 Blob,Blob 服務會傳回狀態碼 412 (先決條件失敗)。

If-Match

選擇性。ETag 值。只有在其 ETag 值符合指定值時,才能指定此條件式標頭的 ETag 值擷取 Blob 的快照集。如果兩值不相符,Blob 服務會傳回狀態碼 412 (先決條件失敗)。

If-None-Match

選擇性。ETag 值。

只有在其 ETag 值不符合指定值時,才能指定此條件式標頭的 ETag 值擷取 Blob 的快照集。如果兩值完全相同,Blob 服務會傳回狀態碼 412 (先決條件失敗)。

x-ms-lease-id:<ID>

選擇性。如果指定此標頭,只有同時符合下列兩個條件時,才會執行作業:

  • Blob 的租用目前為作用中。

  • 要求中所指定的租用識別碼與 Blob 中的租用識別碼相符。

如果指定此標頭但不符合任何一項條件,則要求和 Snapshot Blob 作業會失敗,並顯示狀態碼 412 (先決條件失敗)。

x-ms-client-request-id

選擇性。提供由用戶端產生的不透明值 (具有 1 KB 的字元限制),當儲存體分析記錄為啟用狀態時,此值會記錄在分析記錄檔中。如果是和伺服器所接收的要求相關的用戶端活動,則強烈建議您使用此標頭。如需詳細資訊,請參閱關於儲存體分析記錄Windows Azure 記錄:使用記錄檔追蹤儲存體需求

唯有在符合指定條件的情況下,此作業也可支援使用條件式標頭以執行作業。如需詳細資訊,請參閱指定 Blob 服務作業的條件式標頭

無。

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

成功的作業會傳回狀態碼「201 (已建立)」。

如需狀態碼的資訊,請參閱狀態和錯誤碼

這項作業的回應包括下列標頭。回應也可能包括其他標準 HTTP 標頭。所有標準標頭都符合 HTTP/1.1 通訊協定規格

 

語法 描述

x-ms-snapshot: <DateTime>

此標頭傳回唯一識別快照集的 DateTime 值。此標頭的值表示快照集版本,可用於後續要求以存取快照集。請注意,此值為不透明。

ETag

快照集的 ETag。如果要求版本為 2011-08-18 或更新版本,ETag 值會加上引號。請注意,您無法寫入快照集,因此指定快照集的 ETag 永遠不會變更。不過,如果 Snaphot Blob 要求提供新的中繼資料,快照集的 ETag 會與基底 Blob 的 ETag 不同。如果要求中未指定中繼資料,快照集的 ETag 會與擷取快照集時之基底 Blob 的 ETag 完全相同。

Last-Modified

上次修改快照集的時間。日期格式會依照 RFC 1123。如需詳細資訊,請參閱標頭中的日期/時間值表示方式

請注意,您無法寫入快照集,因此指定快照集上次修改的時間永遠不會變更。不過,如果 Snaphot Blob 要求提供新的中繼資料,上次修改快照集的時間會與基底 Blob 上次修改的時間不同。如果要求中未指定中繼資料,上次修改快照集的時間,會與基底 Blob 在擷取快照集時修改的時間完全相同。

x-ms-request-id

此標頭可唯一識別提出的要求,而且可用來進行要求的疑難排解。如需詳細資訊,請參閱對應用程式開發介面作業進行疑難排解

x-ms-version

指出用於執行要求的 Blob 服務版本。對 2009-09-19 及更新版本提出要求會傳回此標頭。

Date

服務產生的 UTC 日期/時間值,可指出啟動回應的時間。

無。

只有帳戶擁有者可呼叫這項作業。

快照集提供 Blob 的唯讀版本。建立快照集之後,您可以讀取、複製或將它刪除,但是不可進行修改。

快照集提供便利的方式將 Blob 資料備份。您可以使用快照集將 Blob 還原成舊版,方法是呼叫 複製 Blob,然後以舊版 Blob 的快照集覆寫基底 Blob。

當您建立快照集時,Blob 服務會傳回唯一識別快照集 (相對於其基底 Blob) 的 DateTime 值。您可以使用此值在快照集上執行進一步的作業。請注意,您應該將此 DateTime 值視為不透明。

此 DateTime 值可識別 URI 中的快照集。例如,基底 Blob 及其快照集的 URI 類似如下:

  • 基底 Blob: http://myaccount.blob.core.windows.net/mycontainer/myblob

  • 快照集: http://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=<DateTime>

請注意,每當您呼叫 Snapshot Blob 作業時,便會以唯一的 DateTime 值建立新的快照集。Blob 可支援任意數目的快照集。您永遠無法覆寫現有的快照集,而必須呼叫 刪除 Blob (REST 應用程式開發介面) 並將 x-ms-include-snapshots 標頭設為適當的值,以明確刪除快照集。

讀取、複製和刪除快照集

成功呼叫 Snapshot Blob 會在 x-ms-snapshot 回應標頭中傳回 DateTime 值。您可以接著使用此 DateTime 值,對特定快照集版本執行讀取、刪除或複製作業。透過在 Blob 名稱之後指定 ?snapshot=<DateTime>,即可呼叫對快照集有效的所有 Blob 服務作業。

複製 Blob 屬性和中繼資料

當您建立 Blob 的快照集時,會將下列系統屬性複製到快照集,並保留相同的值:

  • Content-Type

  • Content-Encoding

  • Content-Language

  • Content-Length

  • Cache-Control

  • Content-MD5

  • x-ms-blob-sequence-number (for page blobs only)

  • x-ms-copy-id (2012-02-12 版及更新版本)

  • x-ms-copy-status (2012-02-12 版及更新版本)

  • x-ms-copy-source (2012-02-12 版及更新版本)

  • x-ms-copy-progress (2012-02-12 版及更新版本)

  • x-ms-copy-completion-time (2012-02-12 版及更新版本)

  • x-ms-copy-status-description (2012-02-12 版及更新版本)

如果 Blob 是區塊 Blob,也會將基底 Blob 之認可的區塊清單複製到快照集。不會複製任何未認可的區塊。

快照集 Blob 大小一律與擷取快照集時的基底 Blob 大小相同,因此快照集 Blob 的 Content-Length 標頭值會與基底 Blob 的標頭值相同。

您可以在要求中指定 x-ms-meta-name:value 標頭,為快照集指定一個或多個新的中繼資料值。如果未指定此標頭,則會將與基底 Blob 相關聯的中繼資料複製到快照集。

指定條件式標頭

您可以在要求上指定條件式標頭僅在符合條件時才擷取 Blob 的快照集。如果不符合指定的情況,則不會建立快照集,且 Blob 服務會傳回狀態碼 412 (先決條件失敗),以及其他有關未符合條件的錯誤資訊。

建立租用之 Blob 的快照集

如果基底 Blob 的租用為作用中,只要下列任一條件符合要求,便可擷取 Blob 的快照集:

  • 已指定條件式 x-ms-lease-id 標頭,並在要求中包含基底 Blob 的作用中租用識別碼。此條件指定僅在租用為作用中,且指定的租用識別碼與 Blob 相關聯的識別碼符合時,才會建立快照集。

  • 完全未指定 x-ms-lease-id 標頭,因此忽略獨佔寫入租用。

請注意,與基底 Blob 相關聯的租用不會複製到快照集。快照集無法租用。

複製快照集

使用 複製 Blob 作業複製基底 Blob 時,不會將基底 Blob 的任何快照集複製到目的地 Blob。用某個複本覆寫目的地 Blob 時,與目的地 Blob 相關聯的任何快照集都會保留名稱且保持不變。

您可以將快照集 Blob 複製到基底 Blob,以還原舊版的 Blob。快照集會保留,但會以可讀取/寫入的複本覆寫基底 Blob。

note附註
以此方式升級快照集不會產生額外的儲存體資源費用,因為快照集和基底 Blob 之間會共用區塊或分頁。

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