【问题标题】:Apache jclouds, best way to delete blob from blobstore older than a dateApache jclouds,从比日期更早的 blobstore 中删除 blob 的最佳方法
【发布时间】:2014-11-17 08:35:23
【问题描述】:
您好,我尝试实现一个方法removeValuesUnusedLongerThan(long minimumAge, TimeUnit unit)
这意味着我想删除我的 S3 容器中所有早于 minimumAge 的未使用 blob。但是我没有找到在我的 BlobStore 对象中使用哪种方法来实现这一点。
JClouds 是否提供这样的功能?
【问题讨论】:
标签:
java
amazon-s3
blobstore
jclouds
【解决方案1】:
jclouds 没有为此提供实用方法,但您可以自己滚动:
String marker = null;
while (true) {
PageSet<StorageMetadata> set = blobStore.list(containerName,
new ListContainerOptions().afterMarker(marker);
for (StorageMetadata sm : set) {
if (sm.getCreateDate() < expiryDate) {
blobStore.removeBlob(containerName, sm.getName());
}
}
marker = set.getNextMarker();
if (marker == null) {
break;
}
}