2013-08-06 19 views
0

在我的Google App Engine应用程序中,任务必须从第三方站点下载大文件,对其进行处理,然后将结果存储在数据存储区/ blobstore中。由于urlfetch只能在receive 32MB of data的响应中,并且此文件大于32MB,因此执行此操作的最佳方式是什么?App Engine:从第三方站点检索大文件

我能想到的唯一解决方案是构建不受urlfetch限制的服务器,然后让服务器下载大文件并将其上传到GAE blobstore上传网址。这看起来像是一个令人头痛的实施问题,并且拥有第二台服务器会挫败使用GAE的目的。将大文件存入Google App Engine没有更简单的方法吗?

+1

您可以下载部分文件,每部分32mb。但是,您还需要将下载数据存储在某个地方,因为您可以将其存储在内存中的数据量也有限。您可以使用“范围”HTTP标头(但您下载文件的服务器必须支持此标头) –

回答

0

你可以尝试新的套接字API: https://developers.google.com/appengine/docs/python/sockets/overview#limitations-and-restrictions

它说,如果你想避开你需要上传自己的httplib的请求限制。 我想不出为什么这不起作用的原因,运行它在后端,以避免超时,并在您收到谷歌云存储或blobstore(但它的文件API是depracated)它写数据块。

但除此之外,没有其他方式比Deviling Master说的和你的另一个处理它的服务器。

相关问题