我正在尝试将使用 filepicker.io 存储在 S3 中的大文件(50MB-2GB)发送到 Google App Engine Blobstore(在 Python 中)。我希望在不通过客户端浏览器上的表单的情况下发生这种情况,因为它不符合项目要求(并且经常挂起非常大的文件)。
我尝试了多种解决方案,包括:
- 尝试使用 urlfetch 将文件加载到 GAE(但GAE对请求/响应有 32MB 的限制)
- 在python中构建一个多部分表单并将其发送到
blobstore.create_upload_url()
(无法通过url传输文件,并且由于32MB限制而无法在脚本中加载它) - 使用boto 将文件直接读取到 blobstore 中(连接超时,并且从 boto 显示的日志从 GAE
encountered HTTPException exception
触发CancelledError: The API call logservice.Flush() was explicitly cancelled.
,导致进程崩溃。
我正在努力寻找可行的解决方案。任何关于我如何执行此传输的提示,或如何将 s3 中的文件作为表单附件传递而不首先将其加载到 python 中(即仅指定其 url)将不胜感激。