容器軟刪除透過將已刪除的容器保留在儲存帳戶中指定期間,防止容器意外刪除。 在保留期限內,您可以將軟刪除的容器及其內容還原到其刪除時的狀態。 保留期屆滿後,容器及其內容物將永久刪除。
推薦的資料保護組態
容器軟刪除是全面帳戶內資料保護策略的一部分。 為了為您的儲存帳號提供最佳保護,Microsoft 建議啟用以下資料保護功能:
Blob 軟刪除,可用來還原已刪除的 Blob、快照或版本。 若要了解如何啟用 Blob 虛刪除,請參閱啟用及管理 Blob 虛刪除。
容器軟刪除,用來還原你刪除的容器。 若要了解如何啟用容器虛刪除,請參閱啟用及管理容器虛刪除。
為了防範更廣泛的資料遺失情境,如帳號意外刪除或勒索軟體,建議除了帳號內功能外,還應啟用 Azure 備份。 想了解 Microsoft 根據您的工作負載對資料保護的建議,請參閱資料保護概述。
Tip
要在大規模啟用 blob 和容器軟刪除,請使用內建的 Azure 原則 「配置儲存體帳戶上的 blob 和容器軟刪除」。
容器虛刪除的運作方式
啟用容器軟刪除時,請指定已刪除容器的保留期限為 1 到 365 天。 預設的保留期限為七天。 請選擇最少七天,並根據資料量及偵測與回應資料遺失事件所需的時間,延長保留期限。
在保留期限內,您可以藉由呼叫還原容器作業來復原已刪除的容器。 還原容器時,也會一併還原容器的 Blob 和任何 Blob 版本與快照集。
警告
容器虛刪除只能還原刪除時的整個容器及其內容。 要在父容器未被刪除時還原已刪除的 blob,必須使用 blob 軟刪除或 blob versioning。 當您還原容器時,您必須將其還原為其原始名稱。 如果你用原名稱建立新容器,就無法還原軟刪除的容器。
下圖顯示啟用容器虛刪除時,如何還原已刪除的容器:
保留期結束後,Azure 儲存體 會永久刪除容器,你無法恢復它。 容器刪除後,保留期限開始計算。 你可以隨時更改保留期限,但新設定只適用於更新 後 刪除的容器。 已刪除的容器會根據其最初刪除時的保留期限永久移除。
關閉容器軟刪除不會導致現有軟刪除容器永久刪除。 這些檔案會根據刪除時適用的保留期限永久刪除。
容器軟刪除可以在以下類型的儲存帳戶中使用:
- 一般用途的 v2 和 v1 儲存體帳戶
- 區塊 Blob 儲存體帳戶
- Blob 儲存體帳戶
也支援啟用階層式命名空間以與 Azure Data Lake Storage 一起使用的儲存體帳戶。
版本 2019-12-12 或更高版本的 Azure 儲存體 REST API 支援容器軟刪除。
內建恢復軟刪除容器的最低權限角色是儲存 Blob 資料貢獻者。
重要
容器軟刪除不會防止儲存帳號被刪除,而是防止該帳號內的容器被刪除。 若要防止刪除儲存體帳戶,請在儲存體帳戶資源上設定鎖定。 如需鎖定 Azure Resource Manager 資源的詳細資訊,請參閱鎖定資源以防止非預期的變更。
工作量考量
在啟用現有帳戶的容器軟刪除前,請考慮以下幾點:
啟用不會追溯: 容器軟刪除只保護你啟用後刪除的容器。 你無法恢復在你啟用此功能之前被刪除的容器。
容器只會還原到原本的名稱: 你可以將軟刪除的容器還原到刪除時的名稱。 如果你用該名稱建立新容器,必須先重新命名或刪除它才能還原。
較短的保留期間優先 :容器軟刪除與 blob 軟刪除有獨立的保留期限。 如果 blob 軟刪除的保留時間比容器軟刪除的保留時間短,則還原容器內的 blob 可能在容器保留期結束前就已被永久刪除。 調整兩個保留期,避免還原缺少 Blob 的容器。
保留期限的變更不追溯:更改保留期限僅適用於更新後刪除的容器。 已經軟刪除的容器會保留它們刪除時的保留期限。
延長已軟刪除容器的保留期限需要重新刪除: 若要對已軟刪除的容器套用更長的保留期限,請先取消刪除,並在新的保留期限生效下再次刪除。
停用軟刪除不會清除現有軟刪除的容器: 當你停用容器軟刪除時,服務不會立即移除已經軟刪除的容器。 它們會持續存在,且在原始保留期到期前仍可復原。
HNS 帳號無法枚舉軟刪除的容器: 在具有階層命名空間的帳號中,無法列出哪些容器被軟刪除。 修復需要知道原始容器名稱。
將扁平命名空間帳號升級為階層命名空間(ADLS)的阻擋:在啟用容器軟刪除時,遷移至階層命名空間會被阻擋。 遷移前先停用,遷移完成後再重新啟用。
功能支援
啟用 Data Lake Storage Gen2、網路檔案系統 (NFS) 3.0 通訊協定,或 SSH 檔案傳輸通訊協定 (SFTP),可能會影響到此功能的支援。 如果您已啟用上述任何功能,請參閱 Azure 儲存體帳戶中的 Blob 儲存體功能支援,以評估此功能的支援。
定價和帳務
啟用容器軟刪除是沒有額外費用的。 你為軟刪除容器中的資料付費,與活躍資料的費用相同。
為了降低成本,設定最短的保留期限,讓團隊有足夠時間偵測並恢復意外刪除。 Microsoft 建議至少七天,但你應該根據你的工作量資料量和需求調整這個數值。
監視與疑難排解
使用 Azure 監視器 活動日誌監控容器刪除事件。 若要在 Azure 入口網站查看軟刪除容器,請在儲存瀏覽器啟用顯示已刪除容器。 在程式化操作中,使用 include=deleted 執行 List Containers 作業。
我的軟刪除容器不顯示: 軟刪除的容器預設是隱藏的。 在 Azure 入口網站,啟用儲存瀏覽器中的「顯示已刪除容器」。 透過 API,呼叫帶有
include=deleted的 List 容器。 如果容器還是沒出現,請確認在容器被刪除前就已經啟用了軟刪除,且保留期限還沒過。我無法還原我的容器,因為名稱已被取用: 你在刪除原始容器後建立了一個同名的新容器。 你只能將容器還原到原本的名稱,所以先重命名或刪除衝突的容器,然後再還原。
我在 HNS 帳號找不到軟刪除的容器: 擁有階層式命名空間的帳號不支援枚舉軟刪除容器。 修復需要提供完全相同的原始容器名稱。
我升級到階層命名空間(ADLS)被阻擋了: 容器軟刪除會阻擋遷移到階層命名空間。 先停用容器軟刪除,執行遷移,遷移完成後再重新啟用。
我需要同時還原多個容器:Azure 入口網站無法支援批量還原。 使用 Azure PowerShell 或 Azure CLI 來跨多個容器撰寫還原指令碼。
我需要在因為啟用範圍過於廣泛後大規模停用軟刪除: 請參閱 為容器啟用虛刪除,了解如何使用各種工具停用軟刪除。