是否可以通过编程方式删除批量中的Azure blob对象? 一个一个删除对象有时需要我们几天。以编程方式删除批量中的Azure Blob存储对象
我们在Azure Blob存储上放置了大量新文件,并删除了所有我们想要删除的过期文件,以避免不必要的费用。
我GOOGLE在网上/ MSDN /堆栈溢出 ,发现只有一个MSDN从2014指的是创建Microsoft网站上的功能请求话题。
是否可以通过编程方式删除批量中的Azure blob对象? 一个一个删除对象有时需要我们几天。以编程方式删除批量中的Azure Blob存储对象
我们在Azure Blob存储上放置了大量新文件,并删除了所有我们想要删除的过期文件,以避免不必要的费用。
我GOOGLE在网上/ MSDN /堆栈溢出 ,发现只有一个MSDN从2014指的是创建Microsoft网站上的功能请求话题。
是否可以通过编程方式删除批量中的Azure blob对象?
不需要。您需要逐个删除斑点。
你可以做什么来加速这个过程是创建不同的容器(比如每个年/月组合的容器),并在其中放置相关的斑点。当您需要删除该月份/年份的斑点时,只需删除该容器即可。
当然可以(即使用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
好的,但这真的会扩大到删除30M文件批量?这不是一个假设的问题。这正是我现在正在盯着的。 –
什么?当然可以。看到下面的回答 – EvertonMc
@EvertonMc你的代码正在做的是列出blob,然后发送请求逐个删除blob。这不是在批量恕我直言删除。对我来说,批量删除会给出Azure存储的blob列表,并让它在一个请求中删除这些blob。 –