【问题标题】:How should I move blobs from BlobStore over to Google Cloud Storage?我应该如何将 Blob 从 BlobStore 移动到 Google Cloud Storage?
【发布时间】:2014-01-29 21:47:56
【问题描述】:

我们的应用程序多年来一直使用 Blobstore 在 App Engine 上运行。我们想将我们的视频文件移至 Google Cloud Storage。将大型 Blob 从 Blobstore 迁移到 GCS 的最佳做法是什么?

这只是使用 BlobReader 并一次将字节写入 GCS 的问题吗?还是有其他可用的快捷方式/工具?

关于从 App Engine 写入 GCS,不乏可供选择的库:

有什么理由使用其中一个?

【问题讨论】:

    标签: python google-app-engine google-cloud-storage


    【解决方案1】:

    我不必这样做,但我想说没有自动迁移工具。所以是的,你必须自己动手。

    我的方法是使用cron.yaml 进行批量迁移,跟踪迁移了哪些文件,以便您可以以不同的方式提供它们(根据this page)。云存储在创建对象后为您提供 md5 哈希,您可以使用它来验证每个文件的迁移在删除 Blobstore 副本之前没有错误(可以在文件在迁移过程中计算类似的哈希)。

    关于图书馆:

    • Google 云存储客户端库使用可恢复上传功能来“流式传输”文件,这将使事情在内存方面更加顺畅。我发现它非常可靠(与已弃用的 Google Cloud Storage API/Files API 不同)。
    • JSON API 客户端较低级别。
    • boto 未针对在 GAE 中使用进行优化,而是在桌面上使用,并且您不想离开 Google Cloud 进行迁移 ($$$)。
    • 据我所知,Blobstore 允许您从 GCS 提供文件并让用户将文件上传到 GCS,但不能从您的应用程序中写入文件本身

    【讨论】:

    • 根据您发现非常可靠的“Google 云存储客户端库”,您介意向我展示一个完整的 Java 示例,其中包含上传和下载到/从 GCS 吗?因为我这样做了,而且我在上传大于 32 Mb 的文件时遇到了问题(我猜)。
    • @Aerox,这个 Q 被标记为python,所以答案完全正确是 Python 特定的。要询问 Java,请打开另一个单独的 Q,标记为 Java!-)
    • 有人可以举个例子来用python做这个吗?谢谢。
    猜你喜欢
    • 2012-03-29
    • 2016-01-11
    • 1970-01-01
    • 2013-06-27
    • 2016-11-26
    • 2015-08-01
    • 2011-12-06
    • 2017-03-20
    • 1970-01-01
    相关资源
    最近更新 更多