gae datastore备份

ant*_*upe 7 backup google-app-engine google-cloud-datastore

是否有必要备份gae的数据存储区?
这样做有没有经验,建议和技巧?

Jas*_*ith 6

始终需要备份以防止人为错误.由于App Engine鼓励您构建针对相同数据集运行的多个代码修订版,因此能够返回是很重要的.

Bulkloader文档中介绍了一个简单的转储/恢复工具.

我过去为主要数据库重构做过的其他事情是:

  1. 更改新代码中的实体名称(例如,用户 - >客户或用户2,如果必须)
  2. 按键查找实体时:
    1. 尝试按键并尽可能返回
    2. 尝试旧db.Model类的密钥.如果找到它,请迁移数据,put()并返回新实体
  3. 像往常一样使用实体

(您可能必须使用任务队列来迁移所有数据.如果您总是按键获取实体,则没有必要.)

部署新版本的代码,以便两者共存于服务器端.当您激活新版本时,它就像旧实体的时间点快照.在紧急情况下,您可以重新激活旧版本并使用旧数据.


Jua*_*ara 1

您现在可以使用托管导出和导入功能,该功能可以通过 gcloud 或数据存储区管理 API 访问:

出口和进口实体

安排导出