2017-10-09 32 views
0

我正在使用Azure存儲帳戶並嘗試使用PowerShell刪除存在於容器上的文件夾(我知道該容器只是2層層次結構, blobs概念和那些文件夾實際上並不存在)。從Azure存儲容器或比X日早的文件共享中刪除文件夾

除了無法檢查文件夾的日期/時間屬性,在Blob本身上,我能找到的唯一屬性是「最後修改」,雖然創建屬性更好,但對我們的目的而言通常可以。 據我所知,唯一的解決方案是創建一個表並列出每個文件及其創建時間和日期?對於這件事似乎很多工作。

我可以從該文件夾枚舉文件,因爲它們全部複製在一起,然後刪除所有的斑點共享根「文件夾」,但我更願意知道文件夾本身比它的文件的實際最後修改的時間。有什麼辦法可以做到這一點?現在,我不使用Azure存儲容器LOCKED,文件共享也是可能的,但是當我嘗試時,枚舉文件夾是可能的,但修改的日期和時間屬性由於某種原因而未被填充,並且這是唯一的財產那裏除了「ETag」。

在此先感謝。

回答

0

據我所知,允許用戶從存儲本地定義blob到期策略仍在計劃中,我們可以在this Azure storage feedback中找到它。

如果你想刪除'過期「」文件夾/使用PowerShell腳本文件,你可以嘗試包括與BLOB名稱日期時間路徑信息(例如2017/10 /的test.txt) ,然後您可以列出並遍歷Blob,將blob名稱中的datetime部分與當前日期時間進行比較,如果blob比x天早,則將其刪除。

此外,如果你不希望包括與BLOB名稱日期時間路徑信息,你可以嘗試商店創建日期時間在properties or metadata,然後你可以從屬性或元數據Blob的創建日期時間,並與比較創建日期時間當前日期時間來確定是否刪除blob。

+0

嗨弗雷德, 「文件夾」結構和元數據似乎是我的問題非常合法的解決方案。 非常感謝。 – Pixel

+0

Fred,我們正在使用azcopy將文件上傳到存儲。你能告訴我一個使用PowerShell編輯blob元數據的例子嗎?所有我能找到的演示如何上傳一個特定的本地文件到存儲並提供它的元數據..我認爲我可以用azcopy做同樣的事情,但在作業本身提供元數據時,有趣的是,本地文件夾是一個項目,在存儲它不是,所以如果我試圖分配該「blob」一些元數據會發生什麼.. – Pixel

+0

根據** [AzCopy Parameters](https://docs.microsoft.com/en- us/azure/storage/common/storage-use-azcopy#azcopy-parameters)**,當我們將文件上傳到Blob存儲時,它不能讓我們爲Blob設置屬性或用戶定義的元數據。您可以嘗試其他解決方案(「文件夾」結構)在blob名稱中包含創建日期時間信息。 –

相關問題