【发布时间】:2015-06-18 18:57:48
【问题描述】:
我正在我的 Google App Engine python 应用程序中从 blobstore 迁移到 Google Cloud Storage。我想在上传到 GCS 时使用 blobstore API。 这完全没问题,根据GAE python documentation regarding blobstore
流程就像存储到 blobstore 一样。客户端请求上传 URL,blobstore.create_upload_url(...) 创建它,客户端通过多部分 POST 上传文件,然后服务器重定向到我的 GAE 应用程序中的上传处理程序。
问题在于,虽然我必须选择 GCS 存储桶(它是 create_upload_url 调用的参数之一),但我不知道如何选择文件名。我想把它分解成文件夹。 灵感来自于
Google App Engine Blobstore to Google Cloud Storage Migration Tool 文件名被破坏以便管理 GCS“文件夹”的浏览。
我只知道一种命名 GCS 文件的方法 - 放弃 blobstore API。 相反,客户端会将文件上传到 GAE 处理程序,该处理程序将使用 lib.cloudstorage 将文件数据写入 GCS - 就像引用的迁移工具一样。
我会失去 GCS 的好处,比如在上传过程中重试错误。
问题:有没有办法将文件直接上传到 GCS,同时影响生成的 GCS 对象的命名方式。
【问题讨论】:
-
或者在 blobstore gcs 上传后使用 gcs 复制、删除重命名对象
-
或使用 blobstore 上传并将其移动(写入)到 gcs
标签: python google-app-engine google-cloud-storage blobstore