從封存層將 Blob 解除凍結
位於封存存取層的 Blob 會被視為離線,而且無法讀取或修改。 若要讀取或修改封存 Blob 中的資料,您必須先將 Blob 解除凍結至線上層,即經常性存取層或非經常性存取層。 解除凍結儲存在封存層中的 Blob 有兩個選項:
將封存的 Blob 複製到線上層: 您可以使用 複製 Blob 作業,將封存的 Blob 複製到經常性存取層或非經常性存取層中的新 Blob,以解除凍結該 Blob。
將已封存 Blob 的存取層變更為線上層: 您可以使用 設定 Blob 層 作業來變更其階層,以將封存的 Blob 解除凍結至經常性存取層或非經常性存取層。
從封存層解除凍結 Blob,可能需要數小時才能完成。 Microsoft 建議在解除凍結時封存較大的 Blob,以獲得最佳效能。 由於每個 Blob 的處理額外負荷,將大量的小型 Blob 解除凍結可能需要額外的時間。 每個儲存體帳戶最多可有 10 GiB,每小時以優先順序擷取解除凍結一次。
若要了解如何將封存的 Blob 解除凍結至線上層,請參閱將封存的 Blob 解除凍結至線上層。
解除凍結優先順序
當您解除凍結 Blob 時,可以在設定 Blob 層或複製 Blob 作業上,透過選擇性的 x-ms-rehydrate-priority 標頭來設定解除凍結作業的優先順序。 解除凍結優先順序選項包括:
- 標準優先順序:解除凍結要求會依照收到的順序進行處理,對於小於 10 GB 大小的物件最多可能需要 15 小時的時間。
- 高優先順序:解除凍結要求的優先順序會高於標準優先順序要求,對於小於 10 GB 大小的物件可能不到一小時就會完成。
若要在解除凍結作業進行時檢查解除凍結優先順序,請呼叫取得 Blob 屬性以傳回 x-ms-rehydrate-priority
標頭的值。 解除凍結優先順序屬性會傳回「標準」或「高」。
標準優先順序是預設的解除凍結選項。 高優先順序的解除凍結速度較快,但成本比標準優先解除凍結更高。 高優先順序的解除凍結可能需要超過一小時的時間,視 Blob 大小和目前的需求而定。 Microsoft 建議您保留高優先順序的解除凍結,以用於緊急資料還原情況。
當標準優先順序的解除凍結作業擱置時,您可以將 Blob 的解除凍結優先順序設定從更新為高,以更快速地將 Blob 解除凍結。 例如,如果您要解除凍結大量的 Blob,可以為所有 Blob 指定初始作業的標準優先順序,然後將需要更快上線的任何個別 Blob (最多可達每小時 10 GiB 的限制) 提高為高優先順序。
擱置作業的解除凍結優先順序設定無法從「高」降低至「標準」。 請記住,更新解除凍結優先順序設定可能會產生費用影響。
若要瞭解如何設定和更新解除凍結優先順序設定,請參閱解除凍結封存的 Blob 到線上層。
如需有關標準優先順序和高優先順序解除凍結要求之間定價差異的詳細資訊,請參閱 Azure Blob 儲存體的定價。
將封存的 Blob 複製到線上階層
將 Blob 從封存層移至線上層的第一個選項,是將封存 Blob 複製到處於經常性存取層、非經常性存取層或極非經常性存取層的新目的地 Blob。 您可以使用複製 Blob 作業來複製 Blob。 當您將封存的 Blob 複製到線上層的新 Blob 時,封存層中的來源 Blob 仍保持未修改。
您必須使用其他名稱將封存的 Blob 複製到新 Blob,或複製到不同的容器。 您不能使用複製到相同 Blob 的方法覆寫來源 Blob。
將 Blob 從封存層移至線上層,您可以避免在所需的 180 天期限過去之前從封存層更改 Blob 層時收取的提前刪除費用。 如需詳細資訊,請參閱封存存取層。
如果儲存體帳戶有有效的生命週期管理原則,而且不會將 daysAfterLastTierChangeGreaterThan
條件新增至原則的每個 tierToArchive
動作,這個選項也有道理。 在此情況下,使用 [設定 Blob 層] 作業解除凍結 Blob,可能會導致在生命週期原則在解除凍結後將 Blob 移回封存層,因爲上次修改的時間超過原則設定的閾值。 複製作業會將來源 Blob 保留在封存層中,並使用不同名稱和新的上次修改時間來建立新 Blob,因此不會有生命週期原則將解除凍結 Blob 移回封存層的風險。
從封存層中複製 Blob 可能需要數小時才能完成 (視選取的解除凍結優先順序而定)。 在幕後,Blob 複製作業會讀取您的封存來源 Blob,以在選取的目的地層中建立新的線上 Blob。 當您在解除凍結作業完成之前列出父容器中的 Blob 時,可能會看到新的 Blob,但其階層會設定為封存。 在封存層中的來源 Blob 讀取作業完成且 Blob 的內容已寫入線上層的新目的地 Blob 之前,資料將無法使用。 新 Blob 是獨立的複本,因此對其修改或刪除並不會影響封存層中的來源 Blob。
若要瞭解如何將 Blob 複製到線上層以解除凍結 Blob,請參閱使用複製作業解除凍結 Blob。
重要
在解除凍結順利完成之前,請勿刪除來源 Blob。 如果來源 Blob 已刪除,則目的地 Blob 可能無法完成複製。 您可以處理在複製作業完成時所引發的事件,以瞭解何時可以安全地刪除來源 Blob。 如需詳細資訊,請參閱處理 Blob 解除凍結上的事件。
只有在 2021-02-12 之前的服務版本,才支援在相同儲存體帳戶內將其複製到線上目的地層來解除凍結封存的 Blob。 從服務版本 2021-02-12 開始,只要目的地帳戶與來源帳戶位於相同的區域,即可將封存的 Blob 複製到不同的儲存體帳戶,藉此解除凍結。 在儲存體帳戶之間解除凍結,可讓您將生產資料與備份資料區分開來,方法是將其保留在個別帳戶中。 在個別帳戶中隔離封存的資料,也有助於降低意外解除凍結的成本。
複製作業的目標 Blob 必須位於線上層 (經常性存取或非經常性存取)。 您無法將封存的 Blob 複製到同位於封存層中的目的地 Blob。
下表顯示 Blob 複製作業的行為,視來源和目的地 Blob 所在層而定。
經常性存取層來源 | 非經常性存取層來源 | 封存層來源 | |
---|---|---|---|
經常性存取層目的地 | 支援 | 支援 | 支援跨相同區域中的帳戶搭配版本 2021-02-12 和更新版本。 在相同儲存體帳戶內僅針對舊版提供支援。 需要解除凍結 Blob。 |
非經常性存取層目的地 | 支援 | 支援 | 支援跨相同區域中的帳戶搭配版本 2021-02-12 和更新版本。 在相同儲存體帳戶內僅針對舊版提供支援。 需要解除凍結 Blob。 |
封存存取層目的地 | 支援 | 已支援 | 不支援 |
從次要區域解除凍結
若已將儲存體帳戶設定為使用讀取權限異地備援儲存體 (RA-GRS),則您可以使用 [複製 Blob] 作業,將次要區域中的 Blob 解除凍結至位於相同次要區域的其他儲存體帳戶。 請參閱從次要區域解除凍結。
若要深入了解如何取得次要區域的讀取權限,請參閱次要區域中的資料讀取存取。
將 Blob 的存取層變更為線上層
將封存層的 Blob 解除凍結到線上層的第二個選項,是呼叫 [設定 Blob 層] 來變更 Blob 層。 使用這項作業,您可以將封存 Blob 的層變更為經常性存取層或非經常性存取層。
[設定 Blob 層] 要求起始後,即無法取消。 在解除凍結作業期間,Blob 的存取層設定會一直顯示為封存,直到解除凍結程序完成為止。 當解除凍結作業完成時,Blob 的存取層屬性會更新,以反映新的層級。
若要了解如何藉由將 Blob 層變更為線上層以解除凍結 Blob,請參閱變更 Blob 層以解除凍結 Blob。
警告
變更 Blob 層不會影響其上次的修改時間。 如果有適用於儲存體帳戶的生命週期管理原則生效,則解除凍結具有 設定 Blob 層 的 Blob 可能導致生命週期原則在解除凍結後將 Blob 移回封存層,因為上次修改時間超過原則設定的閾值。
若要避免這種情況,請將 daysAfterLastTierChangeGreaterThan
條件新增至原則的 tierToArchive
動作。 或者,請改為複製封存的 Blob 以將其解除凍結,如將封存的 Blob 複製到線上階層一節中所述。 執行複製作業會以更新的上次修改時間建立 Blob 新執行個體,因此不會觸發生命週期管理原則。
檢查 Blob 解除凍結作業的狀態
在 Blob 解除凍結作業期間,您可以呼叫取得 Blob 屬性作業來檢查其狀態。 若要瞭解如何檢查解除凍結作業的狀態,請參閱檢查解除凍結操作的狀態。
處理 Blob 解除凍結上的事件
解除凍結封存的 Blob 可能最多需要 15 小時的時間,重複輪詢 [取得 Blob 屬性] 來判斷解除凍結是否完成,則是缺乏效率的做法。 Microsoft 建議您使用 Azure 事件方格來擷取解除凍結完成時所引發的事件,以達到更好的效能和成本最佳化。
Azure 事件方格會在 Blob 解除凍結完成之後引發 Microsoft.Storage.BlobTierChanged 事件:
- 當 Blob 的層級變更時,會引發 Microsoft.Storage.BlobTierChanged 事件。 在 Blob 解除凍結的內容中,當目的地 Blob 的存取層成功從封存層變更為線上層時,就會引發此事件 (經常性存取層、非經常性存取層或極非經常性存取層)。 您可以使用 [設定 Blob 層] 作業來變更封存 Blob 的存取層,或使用 [複製 Blob] 作業將封存的 Blob 複製到線上層中的新目的地 Blob。
若要瞭解如何在解除凍結上捕獲事件,並將其傳送至 Azure 函式事件處理常式,請參閱執行 Azure 函式以回應 Blob 解除凍結事件。
如需有關在 Blob 儲存體中處理事件的詳細資訊,請參閱以回應 Azure Blob 儲存體事件和 Azure Blob Storage 做為事件方格來源。
定價和帳務
設定 Blob 層的解除凍結作業會針對資料讀取交易和資料擷取大小收費。 相較於標準優先順序,高優先順序解除凍結會有較高的作業和資料擷取成本。 高優先順序的解除凍結會在您帳單上顯示為個別的明細項目。 如果傳回小於 10 GB 封存 Blob 的高優先順序要求超過 5 小時,則您無須支付高優先順序的擷取費率。 不過,標準擷取率仍適用。
將封存的 Blob 複製到具有複製 Blob 的線上層時,會針對資料讀取交易和資料擷取大小收費。 在線上層中建立目的地 Blob 的計費方式為資料寫入交易。 複製到線上 Blob 時,並不會收取提前刪除費用,因為來源 Blob 仍在封存層中保持未修改的狀態。 但會收取高優先順序的擷取費用 (如果選取高優先順序的話)。
封存層中的 Blob 應儲存至少 180 天。 若在 180 天期間之前刪除或變更封存 Blob 的層級,則會產生提早刪除費用。 例如,如果將 Blob 移至封存層,然後在 45 天後加以刪除或移至經常性存取層,則您需支付相當於在封存層中儲存該 Blob 135 (180 減去 45) 天的提前刪除費用。 如需詳細資訊,請參閱封存存取層。
如需有關區塊 Blob 和資料解除凍結的定價詳細資訊,請參閱 Azure 儲存體定價。 如需輸出資料傳輸費用的詳細資訊,請參閱資料傳輸定價詳細資料。