如何清理Azure存储Blob容器?

Nés*_* A. 28 azure azure-storage-blobs blobstore

我只想清理(dump,zap,del .)Azure Blob容器.我怎样才能做到这一点?

注意:容器由IIS(运行Webrole)日志(wad-iis-logfiles)使用.

kni*_*hor 23

只有一种方法可以批量删除blob,即删除整个容器.正如您所说,删除容器与何时可以再次使用该容器名称之间存在延迟.

您唯一的另一种选择是一次删除一个.如果您可以从存储blob的同一数据中心进行删除,则比在本地运行delete更快.这可能意味着编写代码(或者您可以将RDP插入到您的某个实例中并安装云浏览器).如果您正在编写代码,则可以通过并行删除项目来加快整个过程.类似的东西会起作用:

Parallel.ForEach(myCloudBlobClient.GetContainerReference(myContainerName).ListBlobs(), x => ((CloudBlob) x).Delete());
Run Code Online (Sandbox Code Playgroud)

  • 工作得很好 - 谢谢!一个更正是在使用文件夹的情况下将文件作为平面列表返回:`Parallel.ForEach(blobContainer.ListBlobs(useFlatBlobListing:true),x =>((CloudBlob)x).Delete());` (3认同)

gld*_*ael 14

更新:现在(2018年)更简单的方法是使用Azure CLI.检查joanlofe的答案 :)


2016年最简单的方法是使用Microsoft Azure Storage Explorer IMO.

  1. 下载Azure Storage Explorer并进行安装
  2. 使用适当的Microsoft帐户登录
  3. 浏览到要清空的容器
  4. 单击"全选"按钮
  5. 单击"删除"按钮

截图

  • Azure存储资源管理器很棒,但删除文件很慢.尝试使用100K +文件清理容器 - 这将需要永远. (2认同)

joa*_*ofe 14

使用Azure CLI 2.0的单行内容:

az storage blob delete-batch --account-name <storage_account_name> --source <container_name>
Run Code Online (Sandbox Code Playgroud)

在您的情况下替换<storage_account_name><container_name>适当的值.

您可以通过运行以下命令查看命令的帮助:

az storage blob delete-batch -h
Run Code Online (Sandbox Code Playgroud)

  • 在我添加`--account-key`后工作得很好 (2认同)

Ram*_*Ram 6

尝试使用cloudberry产品用于windows azure

这是链接:http://www.cloudberrylab.com/free-microsoft-azure-explorer.aspx

你可以在blob中搜索特定的扩展名.选择多个blob并删除它们


Min*_*SFT 5

如果您的意思是要删除容器.我建议你查看http://msdn.microsoft.com/en-us/library/windowsazure/dd179408.aspx以查看是否删除容器操作(容器及其中包含的任何blob稍后在垃圾回收期间被删除)可以满足要求.