我正在尝试查询容器并基于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的发布,可能会很理想的是设置保留策略。