To upload a file from url to a cloud storage system, usually it is required to download that file on a server, and then upload it to the cloud storage.
For large files,
Yes, it's possible. You can generate an upload URL (using Cloud Storage API) and provide it to a client that should use it in a POST request.
Here is docs for PHP but this approach should be working for Python as well.
Here is an example: https://github.com/GoogleCloudPlatform/storage-signedurls-python
To overcome the lack of local disk on GAE you can:
To download the files to GAE you could use the URL service. But there are 2 limitations to keep an eye on:
If the server offering the downloads supports multi-part downloads it might be possible to get a solution working for any file sizes with this info.
Note: this is just theoretical, I've only thought about this, I didn't actually tried it.