Google app engine 将文件从url发送到GCS

Google app engine 将文件从url发送到GCS,google-app-engine,google-cloud-storage,Google App Engine,Google Cloud Storage,我在筛选关于从表单上传的所有线程时遇到了问题,似乎找不到任何与从URL下载和发送相关的内容 我有一个大的Gzip json文件,需要从外部服务器下载并在AppEngine上处理其结果。我现在就让它工作,这样它就可以将文件下载到内存中并解压缩,然后在小任务中将其处理到任务队列中。然而,在进行小代码内存优化之前,我在应用程序引擎上达到了128MB的限制。我担心这最终会再次发生 以下是我的代码,以防对其他人有所帮助: READ_BLOCK_SIZE = 1024*8 request = urllib2

我在筛选关于从表单上传的所有线程时遇到了问题,似乎找不到任何与从URL下载和发送相关的内容

我有一个大的Gzip json文件,需要从外部服务器下载并在AppEngine上处理其结果。我现在就让它工作,这样它就可以将文件下载到内存中并解压缩,然后在小任务中将其处理到任务队列中。然而,在进行小代码内存优化之前,我在应用程序引擎上达到了128MB的限制。我担心这最终会再次发生

以下是我的代码,以防对其他人有所帮助:

READ_BLOCK_SIZE = 1024*8
request = urllib2.Request(url)
response = urllib2.urlopen(request)
d = zlib.decompressobj(16+zlib.MAX_WBITS)

str = ""
while True:
    data = response.read(READ_BLOCK_SIZE)
    if not data:
        break
    data = d.decompress(data)
    str += data
return str

有人有什么想法吗?有没有一种好方法可以在AppEngine上处理大文件,并将它们直接发送到GCS,这样我就不必将它们全部保存在内存中?将下载权限发送给GCS不知何故?

作为一个创可贴解决方案,您也可以(也许只是暂时)将实例类碰撞到一个具有更多内存的对象。而将实例级别颠簸是一个很好的建议,有没有理由将此标记为副本?我点击了你作为副本提交的答案,这与从URL上传有关,这正是我在文章的第一句中指出的。我是从外部服务器上的URL下载,而不是上传到GCS上传URL。我在回答中也谈到了这一点。我的意图只是建议复制,通常其他人也会投票,但由于我获得了金徽章,投票过程就被绕过了。我会还原它。可能重复: