使用Azure Storage .NET SDK删除Blob性能

时间:2018-09-24 02:27:29

标签: azure azure-storage azure-storage-blobs

我正在尝试查询容器并基于blob LastModifiedTime删除其中的blob。

这是我的方法

a)ListContainers(null, ContainerListingDetails.None) API来获取容器

b)ListBlobs(null, true); API来获取斑点

c)然后根据修改后的时间为每个Blob发出一个Delete调用

100个容器和每个容器中约有3万个Blob,性能非常糟糕。因此,我决定并行删除容器。它有所改善,但仍然很慢。

如您所见,在LIST API中,我没有获取Blob详细信息以避免更多的数据传输。

问题

a)Azure存储SDK是在发出Delete请求时是否等待blob被完全删除,还是在服务器返回202 (Accepted)时立即返回? (删除是基于Azure存储REST API的异步操作)

b)是否有更好的方法来执行上述操作?随着Storage lifecycle management的发布,可能会很理想的是设置保留策略。

0 个答案:

没有答案