4
我從數據存儲中刪除了大量的對象,我不想要 (其中約7000個)。 這些對象中的每一個都有一個與之相關的blob,由 字符串(blob鍵)引用。
正如您現在可能已經猜到的那樣,我忘記刪除這些斑點。 現在我沒有任何對他們的引用,但我想刪除它們。 我似乎無法找到一種方法來做到這一點。 任何幫助將不勝感激。
UPDATE 找到解決方案。刪除appengine blobstore中的孤立blob
DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
BlobstoreService blobstoreService = BlobstoreServiceFactory.getBlobstoreService();
List<BlobInfo> blobsToCheck = new LinkedList<BlobInfo>();
Iterator<BlobInfo> iterator = null;
if(afterBlobKey == null){
iterator = new BlobInfoFactory().queryBlobInfos();
}else{
iterator = new BlobInfoFactory().queryBlobInfosAfter(new BlobKey(afterBlobKey));
}
while(iterator.hasNext()){
blobsToCheck.add(iterator.next());
}
//Check those blobs if they have reference in datastore
//Delete using blobstoreService.delete(blobKey);
可能重複[是否有可能找到並刪除在App Engine Blob存儲區孤立的BLOB?(http://stackoverflow.com/questions/2935980/is-it-possible-to-find-and -delete -blob-blobstore) – systempuntoout 2011-03-19 13:40:11
@systempuntoout謝謝,雖然我在尋找一個Java解決方案,這個問題你已經鏈接到了,幫助解決了我的問題。 – Gaurav 2011-03-19 19:44:15
很高興幫助。您可以在此處發佈您自己的Java解決方案,作爲將其標記爲已接受的答案;這對其他人會有幫助。 – systempuntoout 2011-03-19 20:43:12