【问题标题】:App Engine: Retrieving Large Files from Third Party SiteApp Engine:从第三方网站检索大文件
【发布时间】:2013-08-06 06:19:56
【问题描述】:

在我的 Google App Engine 应用程序中,任务必须从第三方站点下载一个大文件,对其进行处理,并将结果存储在数据存储区/blobstore 中。鉴于urlfetch 只能在响应中receive 32MB of data,并且此文件大于32MB,那么最好的方法是什么?

我能想到的唯一解决方案是构建另一个不受 urlfetch 限制的服务器,然后让服务器下载大文件并将其上传到 GAE blobstore 上传 url。这似乎是一个完全令人头疼的实现,并且拥有第二台服务器违背了使用 GAE 的目的。难道没有更简单的方法可以将大文件导入 Google App Engine 吗?

【问题讨论】:

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

标签: google-app-engine urlfetch


【解决方案1】:

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

它说如果你想绕过请求限制,你需要上传你自己的 httplib。 我想不出为什么这还行不通,在后端运行它以避免超时并将数据块写入谷歌云存储或 blobstore(但它的文件 api 已弃用)。

但除此之外,除了恶魔大师所说的以及处理它的另一台服务器之外别无他法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-22
    • 2011-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-07
    • 1970-01-01
    相关资源
    最近更新 更多