2014-11-17 3 views
0

안녕하세요. S3 컨테이너에서 minimumAge보다 오래된 모든 사용되지 않은 BLOB를 삭제하려는 의미 인 removeValuesUnusedLongerThan(long minimumAge, TimeUnit unit) 을 구현하려고합니다. 그러나 나는 이것을 달성하기 위해 BlobStore 객체에서 어떤 메소드를 사용할 것인지를 찾지 못했습니다.Apache jclouds, 날짜보다 오래된 blobstore에서 BLOB를 삭제하는 가장 좋은 방법

JClouds는 이러한 기능을 제공합니까?

답변

0

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; 
    } 
}