要将文件从 url 上传到云存储系统,通常需要将该文件下载到服务器上,然后将其上传到云存储。
对于大文件,可能需要将文件写入磁盘而不是内存。由于应用引擎不支持在磁盘上写入,是否还有其他选项可以在应用引擎上执行此操作?
我知道托管虚拟机是一种选择,但我试图确保在经典应用引擎上绝对不可能做到这一点。
要将文件从 url 上传到云存储系统,通常需要将该文件下载到服务器上,然后将其上传到云存储。
对于大文件,可能需要将文件写入磁盘而不是内存。由于应用引擎不支持在磁盘上写入,是否还有其他选项可以在应用引擎上执行此操作?
我知道托管虚拟机是一种选择,但我试图确保在经典应用引擎上绝对不可能做到这一点。
要克服 GAE 上缺少本地磁盘的问题,您可以:
要将文件下载到 GAE,您可以使用URL 服务。但是有两个限制需要注意:
如果提供下载的服务器支持多部分下载,则可以使用此信息获得适用于任何文件大小的解决方案。
注意:这只是理论上的,我只是想过这个,我没有实际尝试过。
是的,这是可能的。您可以生成上传 URL(使用 Cloud Storage API)并将其提供给应在 POST 请求中使用它的客户端。
这是PHP 的文档,但这种方法也应该适用于 Python。
这是一个示例:https ://github.com/GoogleCloudPlatform/storage-signedurls-python