0

我希望将用户生成的数据(用户配置文件,可能会不时更改)从我的 AppEngine python 应用程序备份到 Google Cloud Storage。我可以轻松地定期暴力备份所有用户生成的数据,但仅更新已更改的数据可能更有意义(仅在用户更改数据时才将其写入云存储)。稍后,在需要恢复数据的情况下,我想利用云存储服务的对象版本控制功能来确定需要恢复哪些对象。

我试图根据https://developers.google.com/appengine/docs/python/googlecloudstorageclient/functions中找到的有关 cloudstorage.open() 的信息准确了解谷歌云存储如何与 AppEngine 交互。但是,没有迹象表明此服务如何与存储在云中的版本化对象交互(版本化对象记录在这里:https ://developers.google.com/storage/docs/object-versioning )。

所以,我的问题是:在 AppEngine 上运行的应用程序如何访问存储在 Google Cloud Storage 中的特定版本的对象。

如果有更好的方法来做到这一点,我也会有兴趣了解它。

4

1 回答 1

3

AppEngine GCS 客户端库目前不支持版本控制。如果您通过其他渠道在存储桶上启用版本控制,GCS 客户端库将继续正常工作,但为了访问或删除旧代对象,您需要使用 XML API 或 JSON API(而不是appengine 特定的 API)。有一个用于 JSON API 的 Python 客户端,可以在 appengine 中正常工作,但使用它会失去一些 appengine 的优点。有关更多详细信息,请参阅https://developers.google.com/appengine/docs/python/googlecloudstorageclient/#gcs_rest_api

以下是有关如何使用 XML 和 JSON API 的版本控制的一些信息:https ://developers.google.com/storage/docs/generations-preconditions

于 2013-07-16T22:32:12.133 回答