我的AppEngine服務器有大量未在BlobStore中使用的孤立Blob。我想編寫代碼來遍歷所有的blob,並檢查它們是否未被使用,然後刪除。我找不到一種方法來遍歷BlobStore。這可能嗎?清理AppEngine BlobStore
回答
您可以通過數據存儲查詢列出https://cloud.google.com/appengine/docs/go/blobstore/reference#BlobInfo(儘管此類查詢最終一致)。
從該頁面:'注意:Files API已於2013年6月11日棄用(v1.8.1),並且即將關閉,此時這些功能將不再起作用。改爲使用Google雲端存儲(https://cloud.google.com/storage/).' –
我想這就是爲什麼谷歌很難與Blobstore合作。 –
非常感謝!這裏有一些GQL工作:「SELECT * FROM __BlobInfo__」 - 抱歉不顯示正確,但在前後添加3個下劃線。 – tmoore
這裏是在golang遍歷斑點代碼解決方案:
c.Infof("Iterating over blobs")
q := datastore.NewQuery("__BlobInfo__")
// Iterate over the results.
total := 0
t := q.Run(c)
for {
var bi blobstore.BlobInfo
_, err := t.Next(&bi)
if err == datastore.Done {
break
}
if err != nil && isErrFieldMismatch(err) == false {
c.Errorf("Error fetching next Blob: %v", err)
break
}
// Do something with the Blob bi
c.Infof("Got blob [%v] of size [%v]", bi.ContentType, bi.Size)
total++
if total > 100 { break }
}
c.Infof("Iterating Done")
您還需要使用此功能忽略場失配誤差:
func isErrFieldMismatch(err error) bool {
_, ok := err.(*datastore.ErrFieldMismatch)
return ok
}
- 1. Appengine Blobstore - 視頻流
- 2. FinalizationException - AppEngine Java Blobstore API
- 3. AppEngine:從Blobstore進入S3?
- 4. 文件上傳到AppEngine Blobstore
- 5. GAE:java.lang.NoClassDefFoundError:com/google/appengine/api/blobstore/BlobstoreServiceFactory
- 6. Appengine blobstore訪問控制(java)
- 7. 上傳到Appengine Blobstore時處理表單失敗
- 8. 從代碼發佈圖像到blobstore appengine?
- 9. 從Internet到AppEngine BlobStore(Java)的圖像
- 10. 直接將數據放入AppEngine的Blobstore
- 11. 上傳到Android中的Appengine Blobstore
- 12. 刪除appengine blobstore中的孤立blob
- 13. 谷歌appengine blobstore上傳處理額外的形式發佈參數
- 14. AppEngine Python API異常處理
- 15. 在appengine中,如何將db.Blob移動到Blobstore中
- 16. 如何使用getServingUrl獲取使用Appengine ImageService的blobstore圖像url?
- 17. 使用BlobKey在Google AppEngine的BlobStore中查找blob
- 18. 從Blobstore遷移到Google Cloud Storage for AppEngine Connected Android項目
- 19. 將文件寫入Blobstore AppEngine並提供給客戶端
- 20. 從AppEngine的BlobStore下載Blob,文件名爲
- 21. 我可以使用遠程API從AppEngine BlobStore讀取
- 22. AppEngine上保存的圖像從網址到BLOBSTORE
- 23. 如何使用Appengine Blobstore上傳和流式傳輸視頻
- 24. 移動後端入門 - 上傳到AppEngine Blobstore
- 25. 谷歌AppEngine Blobstore視頻流在HTML模板
- 26. AppEngine - >「AttributeError:'unicode'對象在使用blobstore時沒有屬性'has_key'」
- 27. Appengine blobstore,存儲完整大小的圖像和小圖像?
- 28. 每個條目的AppEngine BlobStore元數據有多大?
- 29. 服務器端上傳到Blobstore - Java Google Appengine
- 30. Go + Appengine Blobstore,調整圖片上傳尺寸
是有一個blobstore瀏覽器,所以你至少可以看到它們? –
在AppEngine儀表板中,它會顯示一個東西列表。但它沒有告訴你正在使用或不使用什麼。所以這就是爲什麼我需要編寫一段代碼來迭代它們,並執行一些數據存儲查詢來檢查它們是否正在被使用......但首先我需要迭代。 – tmoore
儀表板中找到的斑點列表在哪裏? –