首页 文章

我应该如何将blob从BlobStore移动到Google Cloud 端存储?

提问于
浏览
7

我们的应用程序已使用Blobstore在App Engine上运行多年 . 我们希望将视频文件移至Google Cloud 端存储 . 将大Blob从Blobstore迁移到GCS的最佳实践是什么?

是否只是使用BlobReader并一次向GCS写入一个字节?或者还有其他快捷方式/工具吗?

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

任何理由使用一个而不是另一个?

1 回答

  • 2

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

    我的方法是使用 cron.yaml 进行批量迁移,跟踪迁移的文件,以便以不同的方式提供它们(根据this page) . 创建对象后, Cloud 存储会为您提供md5哈希,您可以使用该哈希在删除Blobstore副本之前验证每个文件的迁移是否无错误(可以在迁移时传输文件时计算类似的哈希值) ) .

    至于图书馆:

    • Google Cloud 端存储客户端库使用可恢复的上传功能"stream"该文件将使内存更顺畅 . 我发现它非常可靠(与已弃用的Google Cloud 端存储API /文件API相反) .

    • JSON API客户端是较低级别的 .

    • boto isn 't optimized for use in GAE, but rather on the desktop, and you don' t想要离开Google Cloud进行迁移($$$) .

    • 据我所知,Blobstore允许您从GCS提供文件,并让用户将文件上传到GCS,但不能从应用程序本身写入文件 .

相关问题