som*_*ne1 5 python google-app-engine google-cloud-storage google-api-python-client
我需要在Web应用程序中检索大小超过64KB的文件.目前,在JSON API的v1beta1中,Google仅允许通过其JSON API上传/下载64KB大小.我已经想出如何使用"可恢复"上传(不是通过其JSON API中提供的接口v1beta1,而是手动)上传大小超过64KB的文件.
我无法弄清楚是一个很好的下载方式.现在,我为要下载的对象公开ACL,下载文件,然后删除对象上的公共ACL.这不仅效率低,而且不是很干净.有没有更好的方法可以使用,或者我坚持到谷歌在未来的API版本中提供更好的方法?
背景信息 我正在撰写GAE应用程序,我知道google.appengine.api.files界面.不幸的是,在使用本地开发环境时,这不适用于实时存储桶,出于测试目的,我和我的团队需要一种在本地测试开发的方法(在其他限制/安全因素中部署到GAE过于繁琐).我们可以与除Cloud Storage之外的所有其他API进行交互,因此我正在编写一个类,在从云存储读取/写入/删除时将使用JSON API或AppEngine的文件界面.我有一个工作实现,但我对我检索文件的方式不满意.
下面的评论澄清:我们正在下载大量信息,对其进行按摩,并将其存储到云存储中以供消费用于BigQuery.我们需要使用dev环境中的实时存储桶,因为如果不这样做,BigQuery将无法使用我们想要测试的数据.无需提供这些文件,只需处理它们即可
来自已接受的评论的解决方案答案如下:
我能够httplib2从与JSON API交互的代码中重用我的经过身份验证的对象,以针对https://{bucket_name}.storage.googleapis.com/{object_name}URL端点执行经过身份验证的GET请求,仅添加Content-Length: 0和x-goog-api-version: 2标头.
对于下载,XML API 是进行身份验证下载的最简单方法。有多种方法可以进行身份验证下载,详情请参阅本页: https: //developers.google.com/storage/docs/authentication
对于简单的获取操作,“XML API”名称可能会被认为具有误导性——您不需要生成任何 XML。如果遇到错误,它将表示为 XML,但在成功下载文件的最简单情况下,实际上不涉及 XML。
| 归档时间: |
|
| 查看次数: |
518 次 |
| 最近记录: |