本頁是否能提供幫助?
您對此內容的意見反應十分重要。 請告訴我們您的想法。
其他意見反應?
剩餘 1500 個字元
匯出 (0) 列印
全部展開

快照集 Blob

發佈時間: 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 的字元限制),當儲存體分析記錄為啟用狀態時,此值會記錄在分析記錄檔中。如果是和伺服器所接收的要求相關的用戶端活動,則強烈建議您使用此標頭。如需詳細資訊,請參閱關於儲存體分析記錄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 之間會共用區塊或分頁。

Premium 儲存體帳戶中的快照集

就快照集而言,Azure Premium 儲存體帳戶與標準儲存體帳戶有一些差異:

  • Premium 儲存體帳戶中每個分頁 Blob 的快照集數目受限為 100 個。如果超出該限制,Snapshot Blob 作業會傳回錯誤碼 409 (SnapshotCountExceeded)。

  • Premium 儲存體帳戶中分頁 Blob 的快照集可能會每 10 分鐘擷取一次。如果超出該比率,則 Snapshot Blob 作業會傳回錯誤碼 409 (SnaphotOperationRateExceeded)。

  • 不支援透過 取得 Blob (REST 應用程式開發介面) 讀取 Premium 儲存體帳戶中分頁 Blob 的快照集。對儲存體帳戶中的快照集呼叫 Get Blob 會傳回錯誤碼 400 (無效的作業)。不過,支援對快照集呼叫 取得 Blob 屬性 (REST 應用程式開發介面)取得 Blob 中繼資料 (REST 應用程式開發介面)

    若要讀取快照集,您可以使用 複製 Blob 作業將快照集複製到帳戶中的其他分頁 Blob。複製作業的目的地 Blob 不得有任何現有的快照集。如果目的地 Blob 有快照集,則 Copy Blob 會傳回錯誤碼 409 (SnapshotsPresent)。

如需對 Azure Premium 儲存體資源呼叫 REST 作業的詳細資訊,請參閱搭配使用 Blob 服務作業與 Azure Premium 儲存體

Microsoft 正展開一份線上問卷調查,了解您對於 MSDN 網站的看法。 如果您選擇參加,您離開 MSDN 網站時即會顯示線上問卷調查。

您是否想要參加?
顯示:
© 2015 Microsoft