Blobstore or Cloud Storage for store photo - java

I design an mobile app which can upload photo on GAE.
These photos can not be changed, only displayed on other mobiles. Through my application, the picture will be sent only on GAE, and downloaded to the mobile clients. That's all!
I only use GAE for store photos, and datastore for store photo's data string (Like position, age...)
Do you think I have to go on the Cloud Storage (Because I would be locked after a while?), or I can stay on the Blobstore ?
I fear that in the future the Blobstore was deprecated..
Thanks !

Use GCS because:
Google is moving away from the blobstore
GCS offers more functionality like acl, folders, and more.
You can use filenames and a blobstore like serving url for images
You can create serving url's for non images
GCS is cheap and has a free default bucket

Blobstore vs. Cloud Storage is an ongoing debate. check out these resources:
Google Blobstore versus Google cloud storage
If you're storing an image Blob in App Engine, should you put it in the Blobstore or Google Cloud Storage?
Comparing Blobstore and Google Cloud Storage

Relative to Google itself, there no good reasons to use blobstore to store files because Cloud Storage is made to do this.
I think Google will deprecate the Blobstore soon...

Related

How to compress files on azure data lake store

I'm using Azure data lake store as a storage service for my Java app, sometimes I need to compress multiples files, what I do for now is I copy all files into the server compress them locally and then send the zip to azure, even though this is work it take a lot of time, so I'm wondering is there a way to compress files directly on azure, I checked the data-lake-store-SDK, but there's no such functionality.
Unfortunately, at the moment there is no option to do that sort of compression.
There is an open feature request HTTP compression support for Azure Storage Services (via Accept-Encoding/Content-Encoding fields) that discusses uploading compressed files to Azure Storage, but there is no estimation on when this feature might be released.
The only option for you is to implement such a mechanism on your own (using an Azure Function for example).
Hope it helps!

Storing and retrieve images with google app engine in android?

I developed an android app with google app engine as a server.
Now I want to add photo sharing feature in my app,
Google app engine provides Cloud Datastore/Cloud Storage for large data like images.
My question is that is Cloud Datastore an efficient way for storing and retrieving images or any other third party database is more efficient than Cloud data store/cloud storage.
Please guide me and give me your helpful suggestions.
Cloud Storage is a better solution than a database for storing and serving images, and allows you to do things like Signed URLs (serving content directly, securely).
Directly from the "Choosing a Storage Option" page:
Google Cloud Storage
Description: A scalable, fully-managed, highly reliable, and cost-efficient object / blob store.
Good for:
Images and videos
Objects and blobs
Unstructured data

How to handle Blobs in Google App Engine alternatively to Cloud Storage and BlobStore API

The BlobStore API is marked as 'superseded' also limited to Limits to 32 MB.
The Google Cloud Storage is a vendor lock-in.
Is there a way to upload blobs with a 3rd part lib
In Google App Engine (not flexible / managed-vms) for example JClouds
And how would one bypass the 60 Seconds request limit that causes DeadlineExceededException?
To enhance the question;
Security is an issue, it would be preferably to run every request trough the application, so also blob uploads. Which makes the 60 seconds an issue.
The seperate uploadUrl is an option, but i do not wish to use BlobStore or Cloud Storage, but is there a generic way to handle things like this in GAE?
32MB is not a limitation of the BlobStore, but rather request playloads that go to your GAE app. You can upload larger files to both Cloud Storage and the BlobStore by creating a temporary URL for the user to submit the file to, which does not go through your ap, but rather goes directly to the storage service. You can find documentation about that for blobstore here. I don't personally use Cloud Storage, so I don't the a documentation link handy.
You can certainly use any other service in a similar way, but I'm afraid I can't explain how other than to say "consult their documentation". I know that's not a great answer to your question, but maybe insight into how it works with Google's products will help you understand how to use a 3rd party as well.
As for the 60 second request limit: since your upload requests cannot go through your server anyway, this is a non-issue. The 60 second limit only applies to requests made directly to your app.

How the Google App Engine's Blobstore Java API works?

How the google app engine blobstore service working with file upload of 32 MB without any TimeOut Exception. Also it will not affect app engine's request-response interval of one minute.What kind of process is going behind it.
When using the blobstore to upload data you upload the data into a special system handler that will load the data save it in the blobstore and when finished redirect to the user handler while providing a reference to to the location in the blobstore of the uploaded data.

Google App Engine + AWS S3 file protection!

I have an application running on GAE/J that streams video from AWS S3.
I need a solution for protecting the video from being stolen and I found that pre-signed URLs might be it (??).
How can I create pre-signed URLs from GAE/J or there's a better solution to secure the videos?
thanks
I need a solution for protecting the
video from being stolen and I found
that pre-signed URLs might be it (??).
What you're asking for is impossible. Pre-signed URLs will limit the availability of the file to a certain window of time, after which the link will stop working, but there's no way to allow someone to download something with a video player, but not store it to their computer.
Nick, that is not quite right. You can securely stream video with Amazons protected Flash rtmp video streaming service, using Cloudfront. Nobody will be able to download your files. There are tutorials about how to do it on the net. For instance here. You can also go straight to the cloudfront documentation. (Can't post the link here as I'm new to SO and can only post one link).

Categories