2014-01-10 82 views
7

我们的应用程序已经在使用Blobstore的App Engine上运行多年。我们希望将我们的视频文件转移到Google云端存储。从Blobstore迁移到GCS的最佳做法是什么?我应该如何将Blob从BlobStore移到Google云端存储?

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

至于从App Engine的写入GCS,没有图书馆的不足可供选择:

任何理由使用一个比其他?

回答

2

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

我的方法是使用cron.yaml批量迁移,记录哪些文件已迁移,以便您可以以不同方式提供它们(按照this page)。在创建对象之后,云存储为您提供了md5散列,您可以使用它来验证每个文件的迁移在删除Blobstore副本之前是否无错误(可以在文件迁移时迁移时计算相似散列)。

至于库:

  • 的谷歌云存储客户端库使用可恢复上传功能为“流”的文件,这将让事情变得更流畅内存明智的。我发现它非常可靠(与已弃用的Google Cloud Storage API/Files API相反)。
  • JSON API客户端是较低级的。
  • boto未针对在GAE中使用进行优化,而是在桌面上使用,并且您不希望离开Goog​​le Cloud执行迁移($$$)。
  • 据我所知,Blobstore允许您从GCS提供文件并让用户将文件上传到GCS,但不会从您的应用程序本身写入文件。
+0

根据您发现的“Google云存储客户端库”非常可靠,您是否介意在Java中使用上传和下载/从GCS下载完整示例?因为我这样做了,而且我在上传大于32 Mb的文件时遇到问题(我猜)。 – Aerox

+0

@Aerox,这个Q被标记为'python',所以正确答案是Python特有的。要询问Java,打开另一个单独的Q,标记为'Java'! - –

+0

有人可以用python来显示一个例子吗?谢谢。 – filias

相关问题