本文可協助您判斷何時啟用虛刪除、版本設定、兩者或兩者都不啟用。
Blob 軟刪除和 Blob 版本控制都可幫助您防止刪除和覆寫。 這些功能可以獨立使用,也可以一起使用,視您的工作負載、成本敏感度和復原需求而定。 若要瞭解保護 Blob 和容器的其他方法,請參閱 資料保護概觀。
我們的建議
儲存重要資料的 Blob 儲存體客戶應啟用虛刪除和版本設定,以提供多層保護,防止意外刪除或覆寫。 虛刪除可確保您的數據在可設定的天數內保持可復原。 Blob 版本控制為管理先前的版本和復原選項提供了更大的靈活性,例如能夠讀取先前的版本並從元資料或屬性變更中復原。 請參閱以下詳細信息,了解適合您的內容。
功能概觀
| Feature | 防護 | 保留期限 | 存儲行為 | 階層式命名空間 (HNS) 考量 |
|---|---|---|---|---|
| 軟刪除 | 針對平面命名空間帳戶的刪除和覆寫。 針對階層式命名空間帳戶的刪除。 | 長達 365 天(可設定) | 針對每個覆寫建立虛刪除的快照。 針對每個刪除建立虛刪除的 Blob。 | 軟刪除僅保護啟用了 HNS 的帳戶刪除操作。 使用 設定 Blob 到期 API,無法使用 Blob 虛刪除功能還原過期的檔案。 |
| 版本控制 | 針對平面命名空間帳戶的刪除和覆寫。 | 無限期(直到明確刪除) | 在每次寫入時建立新版本。 | 版本設定不適用於已啟用 HNS 的帳戶。 |
備註
這兩個功能預設都會停用,而且必須在儲存體帳戶層級啟用。
使用虛刪除的時機
建議在以下情況啟用虛刪除功能:
- 您想要復原被意外刪除或覆寫的 Blob。 針對已啟用階層式命名空間的帳戶,軟刪除只會防止刪除,無法防止覆寫。
- 您需要一個有時間限制的保護機制用於 Blob 復原,其限制時間等於您的保留天數設定。
考慮事項
系統會針對每次覆寫作業建立一個軟刪除的快照。 Blob 虛刪除無法防止作業寫入 blob 中繼資料或屬性。
會針對每個刪除作業建立一個虛刪除的 Blob。 每個虛刪除的 Blob 都會在作業時以 Blob 的完整大小計費。
避免在保留期間內每個 Blob 超過 1,000 個虛刪除的快照集,以防止在 Blob 列示作業期間效能下降。
保留期限 上限為 365 天。
若啟用軟刪除,已刪除的 blob、快照及版本會保留至設定的軟刪除保留期間。 若啟用永久刪除功能,軟刪除的快照與版本可在保留期限結束前永久刪除。 保留期限屆滿後,任何剩餘的軟刪除資料將自動且永久刪除。
如果停用虛刪除,則所有刪除都是永久的,但現有的虛刪除資料會保留,直到保留期間到期為止。
虛刪除的 Blob 內容無法透過讀取 API 存取。 若要存取資料,您必須先取消刪除 Blob。
何時使用版本控制
在下列情況下啟用版本控制:
您想要維護 Blob 的完整變更記錄。 對於版本設定,覆寫和刪除都會建立一個先前的版本。 刪除會移除目前版本,但先前的版本會保留。
您想要將對中繼資料和屬性的變更儲存為先前的版本。
您需要長期或無限期地保留先前的 Blob 狀態。
您想要保持對舊版的快速存取,而不需要取消刪除。
考慮事項
每個寫入作業 (放置 Blob、放置區塊清單、設定 Blob 中繼資料 和 複製 Blob) 都會建立新版本的 Blob。
版本會保留, 直到明確刪除為止,提供長期復原選項。
避免 每個 Blob 超過 1,000 個版本 ,以維持最佳效能,並防止在 Blob 清單作業期間效能降低。
您可以隨時刪除特定版本。 需要不同的角色才能刪除目前的版本和先前的版本。 這種分離有助於避免錯誤。 同一個身分識別可以同時指派這兩個角色。 瞭解更多資訊。
您可以 設定生命週期管理原則 或 Azure 儲存體動作 ,以控制版本的生命週期,並定義保留條件。
版本控制不適用於已啟用階層式命名空間的帳戶。
何時同時使用
在下列情況下,請同時啟用軟刪除和版本控制:
- 您需要全面的保護,以防止意外刪除和意外覆寫。
- 您在需要分層資料保護的受監管環境中運作。
- 您想要確保即使刪除版本也能獲得復原選項。
- 您希望建立一段寬限期,當舊版被刪除時,它們會在某段時間內保留(軟刪除保留期)。
考慮事項
啟用版本設定時,刪除目前版本會使其成為先前的版本。 啟用虛刪除後,刪除先前版本會使其成為虛刪除的先前版本。 (深入瞭解)
軟刪除保留僅適用於刪除舊版的情況。 如果您想要在保留期之前永久移除軟刪除版本,請檢閱這些 指引。
避免 每個 Blob 超過 1,000 個版本 ,以維持最佳效能,並防止在 Blob 清單作業期間效能降低。
每個功能都會以不同的方式保留資料。 您可以為版本控制和軟刪除設定不同的保留期間,以平衡成本與資料遺失的風險。
何時使用「neither」
在下列情況下,您可以選擇停用這兩個功能:
- 您的應用程式有自己的備份和復原機制。
- 您有嚴格的成本限制,意外資料遺失的風險較低。
- 您的資料是暫時資料或測試資料,不需要保護。
刪除後的 Blob 可存取性
無論在帳戶上啟用了虛刪除、版本設定還是兩者,本節都會說明如何在 Blob 被刪除後存取資料。
如果已啟用版本控制,您必須指定版本 ID 才能讀取先前的版本。 使用 [複製 Blob ] 作業,將舊版複製到新的目前版本。
如果已啟用虛刪除,您必須取消刪除 Blob。
如果已啟用版本設定和虛刪除,而且您想要存取的先前版本已被虛刪除,則必須先取消刪除該 Blob。 取消刪除 Blob 作業一律會還原所有遭到虛刪除的 Blob 版本。 然後,您可以使用 [複製 Blob ] 作業,將舊版複製到新的目前版本。
成本考量
對頻繁覆寫的資料啟用虛刪除或版本設定可能會導致儲存體容量費用增加,並增加列出 Blob 時的延遲。 使用 Put Block 和 Put Block List 進行區塊層級更新可以降低儲存成本。 如果您未對 Blob、版本或快照集的層級進行任何變更,則您需要為該 Blob、其版本和快照集中的唯一資料區塊付費。 您需要為使用中的資料付費,直到 Blob、版本和快照集永久被刪除為止。 瞭解更多資訊