Hi Vinny,

Thanks for your reaction.

When you're deleting from GCS, are you using the Java GCS library? Try 
> using the function BlobstoreService.delete(blobkey) here: 
> https://developers.google.com/appengine/docs/java/javadoc/com/google/appengine/api/blobstore/BlobstoreService
>
Yes I use the Google Cloud Storage (GCS) Client Library for Java.
I tried using the BlobStoreService.delete(blobKey) call but that didn't 
work. The thing is that after saving the file we only store the GCS file 
name (not the blobk Key). There is a BlobStoreService.createGsBlobKey 
method to recreate the BlobKey from the GCS filename, but when using that 
blobKey to the delete method it will delete the GCS file, but the Blob 
Viewer entry is still visible (giving a server error when opened).
 

On Thu, Jul 11, 2013 at 1:41 AM, Tim Rob <[email protected] <javascript:>>wrote:
>
>> For me it would be best if the file would not appear in the Blob Viewer 
>> at all, we're using GCS and not the blobstore. But it would also be fine if 
>> we're only charged once for the storage costs.
>>
>  
> I would bet that internally, App Engine needs to record the uploads as 
> blobs (and also show them in the blob viewer) so it can do blob 
> manipulations on them (for instance, ImageService and getServingUrl both 
> take BlobKey references).
>
Even without a Blob Viewer entry it's possible to call any API method (like 
getServingUrl) that requires a BlobKey is possible using the 
BlobStoreService.createGsBlobKey to create the blobKey. We're already using 
this for images only stored in GCS.
 

> Being charged twice is clearly an error though. Are you sure you're being 
> charged twice over, or is it just that the quota is shown twice? You may 
> want to file an issue in the tracker 
> https://code.google.com/p/googleappengine/issues/list .
>
Yes I'm almost sure. The quota is showed once. But the stored data appears 
in App Engine under "Blobstore Stored Data" and at Billing in my API 
project where GCS is enabled (once). I would expect the Blobstore Stored 
Data in App Engine should not show any data usage, since all data is stored 
in our GCS account. This was already the case before, until we started 
using the blobstoreService.createUploadUrl call to upload files directly 
into GCS.
Before this I was using the now deprecated Files API. Another reason to 
choose for blobstoreService.createUploadUrl was to prevent streaming large 
binary blob data through small/low memory App Engine instances.
I will file an issue (unless you think I'm missing something).

Thanks, Tim

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/google-appengine.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to