[Azure] C# + Azure.Storage.Blobs v12 - 開啟虛刪除(Soft Delete) 、還原刪除的檔案

2020-12-30

Azure Storage Blob 的虛刪除(雖然我比較喜歡稱之軟刪除)可保護您的資料免于不慎或錯誤地修改或刪除。 針對儲存體帳戶啟用 blob 的虛刪除時,該儲存體帳戶中的 blob、blob 版本和快照集,在您指定的保留期限內可能會復原。

如果您的資料有可能意外遭到應用程式或其他儲存體帳戶使用者修改或刪除,Microsoft 建議您開啟虛刪除。 如需啟用虛刪除的詳細資訊,請參閱 啟用和管理 blob 的虛刪除

當然這篇文章我們是要用程式控制還原..


前置步驟,首先你得安裝新版的 Azure.Storage.Blobs ( https://www.nuget.org/packages/Azure.Storage.Blobs ) 12.7.0 ,不要裝到舊版的,這邊我撰寫案例是用 .net core 3.1;在 Azure Portal  開一個 儲存體帳戶,並且在左側的存取金鑰中拿到 Connection String.



1. 你可以進入 Azure Portal 設定,當然你也可以透過 Microsoft Azure Storage Explorer 對 Container  進行設定,這邊我就先開一天,請注意,所有虛刪除的資料都會比照作用中資料的相同費率計費,所以謹慎開啟。




2.刪除檔案加上還原,刪除細節可以在 [Azure] C# + Azure.Storage.Blobs v12 - 建立 Container, 上傳檔案 , 列出資料 , 列出資料夾 , 刪除檔案 , 刪除檔案夾 ,這案例我是對 sample_delete.txt 這檔案下手,這裡面需要注意的是 在撈取 BlobItem 是要用 Azure.Storage.Blobs.Models.BlobStates.Deleted 這樣就是列出刪除的檔案





基本上跟之前版本操作有點不同,花了點時間理解,就把範例留在這了..


reference :

https://github.com/MicrosoftDocs/azure-docs.zh-tw/blob/master/articles/storage/blobs/soft-delete-blob-overview.md

https://docs.microsoft.com/zh-tw/azure/storage/blobs/soft-delete-blob-overview


當麻許的超技八 2014 | Donma Hsu Design.