Get hands-on experience with 20+ free Google Cloud products and $300 in free credit for new customers.

Download more than 32MB files in App Engine

Hello,

We are trying to download more than 32 MB size files from google cloud  storage using cloud storage java client libraries. Regardless of using asynchronous download options in spring, we are unable to download when the file size is more than 32MB. We came across only solution signed URL. Please someone suggest other solutions if it is possible in app engine application.

0 3 290
3 REPLIES 3

Google App Engine has a maximum request size and maximum static file size of 32MB (1, 2).

The recommendation is to bypass GAE and use a url directly provided by Cloud Storage (with no redirection to your app) i.e. if your App displays a gcloud storage url, then clicking the url will bypass your app. Same principle applies when trying to upload files larger than 32MB.

 

    ......NoCommandLine ......
https://nocommandline.com
        Analytics & GUI for 
App Engine & Datastore Emulator

Directly downloading the files with signed url can be accessible by anyone with the url. So we would want to download in a secured way only to the user who can access. Is there any options to download in secured way.

A quick and dirty way that I can think of is - only display the download url to the people who should be able to download it. 

Another option is to make it a 2 step process i.e. you provide a url that user clicks on. This will then call your App (server side) to verify that user has access. If true, you return control to the UI and then programmatically trigger a click on the Google Cloud Storage URL.

I don't know if there's a cleaner and more optimal way to achieve what you want.

    ......NoCommandLine ......
https://nocommandline.com
        Analytics & GUI for 
App Engine & Datastore Emulator