Apache Jclouds, лучший способ удалить BLOB-объектов из Blobstore старше даты
Привет, я пытаюсь реализовать метод removeValuesUnusedLongerThan(long minimumAge, TimeUnit unit)
это означает, что я хочу удалить каждый неиспользованный BLOB-объект старше, чем минимальный, внутри моего контейнера 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;
}
}