【发布时间】:2019-10-13 17:49:23
【问题描述】:
我正在通过 GAE 应用程序(使用烧瓶)从 GCS 提供一些文件,最近我达到了 32 MB 的限制。根据文档,应该可以从 GCS 提供大于 32 MB 的文件,但我找不到正确的 python3 api。
Response limits 动态响应限制为 32MB。如果脚本处理程序生成的响应大于此限制,则服务器会发回一个空响应,并带有 500 Internal Server Error 状态代码。此限制不适用于从 Blobstore 或 Cloud Storage 提供数据的响应。
我找到了可以从 GCS 提供文件的 blobstore API,但不幸的是,该库已弃用且不兼容 python3。这就是我认为采用这种方法的代码的样子
blobstore_filename = '/gs/{}/{}'.format(CLOUD_STORAGE_BUCKET, path)
blob_key = blobstore.create_gs_key(blobstore_filename)
response = Response("This should be overriden by App Enginge")
response.headers['Access-Control-Allow-Origin'] = '*'
response.headers['X-AppEngine-BlobKey'] = blob_key
return response
我认为在 PHP 中有一个特定的 API 方法可以完全满足我的需要 CloudStorageTools#serve
我已经看到一些关于使用 Signed URLs 的类似问题的建议,但这似乎更像是一种变通方法,而不是问题的实际解决方案。
我曾期望找到一种方法来提供来自 GCS 的内容,但我不知道我的搜索技能是否让我失望,或者我需要的方法在 python3 环境中不存在。
【问题讨论】:
标签: python-3.x google-app-engine google-cloud-storage google-app-engine-python