4 ms·
I looked long and hard at App Engine, but I wasn't able to use it as I needed to be able to accept file uploads that were larger than the upload limit on the Ap
by dantiberian 8y ago
I looked long and hard at App Engine, but I wasn't able to use it as I needed to be able to accept file uploads that were larger than the upload limit on the App Engine load balancer. Otherwise it likely would have been my choice. I'm looking at using it for some internal applications soon though.
- amorphid 8y agoI haven't tried this myself, but could you have your client(s) get around this via multipart upload?
- QuercusMax 8y agoI don't think you mean multipart upload - that's a single request that contains multiple files. You're talking about some kind of resumable uploads.
- amorphid 8y agoI mean 2+ concurrent uploads, which I've used before on S3, but not on GCP. [1] [1] https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview....
- neya 8y agoIf you're trying file uploads that directly sit within your application, AppEngine (sort of) discourages that, the right approach would be to let your app upload the files to a CDN (like google cloud storage, if you're on GCP) and manage access through ACLs.
- dantiberian 8y agoYeah, the issue (which I didn't explain well) is that Deps is a Maven repository and needs to speak the Maven protocol. That makes it difficult to do the ACL signing for direct uploads, especially if I want to make it clean for users configuring it.
- stefano 8y agoYou can have the client upload to a cloud storage bucket, then notify the server that the file is ready. Upon receiving the notification, the server can start a background task that reads the file from the bucket and uploads it to the Maven repository. It's a few extra steps for something that should be simpler, but it's workable.
- dantiberian 8y agoThe client in this case is Maven, SBT, Leiningen, e.t.c., so I don't think I can get that kind of control over how Maven would upload the files.
- foota 8y agoI'm curious, could you use a 307 redirect to redirect the user agent to a signed upload URL?
- stefano 8y agoThe only way to do that on App Engine is to have the client ask the server for a temporary signed URL to a writable cloud storage resource, and then have the client upload to that URL (i.e. the only way is by sidestepping App Engine...).