2016-09-13 32 views
0

是否可以通過編程方式刪除批量中的Azure blob對象? 一個一個刪除對象有時需要我們幾天。以編程方式刪除批量中的Azure Blob存儲對象

我們在Azure Blob存儲上放置了大量新文件,並刪除了所有我們想要刪除的過期文件,以避免不必要的費用。

我GOOGLE在網上/ MSDN /堆棧溢出 ,發現只有一個MSDN從2014指的是創建Microsoft網站上的功能請求話題。

回答

6

是否可以通過編程方式刪除批量中的Azure blob對象?

不需要。您需要逐個刪除斑點。

你可以做什麼來加速這個過程是創建不同的容器(比如每個年/月組合的容器),並在其中放置相關的斑點。當您需要刪除該月份/年份的斑點時,只需刪除該容器即可。

+0

什麼?當然可以。看到下面的回答 – EvertonMc

+1

@EvertonMc你的代碼正在做的是列出blob,然後發送請求逐個刪除blob。這不是在批量恕我直言刪除。對我來說,批量刪除會給出Azure存儲的blob列表,並讓它在一個請求中刪除這些blob。 –

1

當然可以(即使用PowerShell)

$Ctx = New-AzureStorageContext -StorageAccountName $StorageAccountName -StorageAccountKey $StorageAccountKey 
Get-AzureStorageBlob -Container "container-name" -Context $Ctx -Blob TellMeWhatToDelete* | Remove-AzureStorageBlob 

即:這將刪除所有的PPT演示文檔中的容器

Get-AzureStorageBlob -Container "documents" -Context $Ctx -Blob *.pptx | Remove-AzureStorageBlob 

或者你可以刪除最後沒有改變每一個的docx文件30天

Get-AzureStorageBlob -Container "documents" -Context $Ctx -Blob *.docx 
| where {$_.LastModified -le (get-date).AddDays(-30) } | Remove-AzureStorageBlob 
+0

好的,但這真的會擴大到刪除30M文件批量?這不是一個假設的問題。這正是我現在正在盯着的。 –