【问题标题】:GAE data upload (seed and backup/restore)GAE 数据上传(种子和备份/恢复)
【发布时间】:2013-03-22 15:30:15
【问题描述】:

由于 GAE 平台的频繁变化,我阅读了不同的文章,有点困惑什么是 2013 年导出/上传数据的最佳方式。根据doc,批量上传工具并不真正适用于 High Replication Store .

本文档适用于使用主/从数据存储的应用。如果 您的应用程序使用 High Replication 数据存储,可以复制 来自应用程序的数据,但 Google 目前不支持此用途 案例。

请评论以下具体场景。我打算使用 golang 运行时,但希望这不会影响备份/恢复。

  1. 如何使用初始(种子/测试)数据加载数据存储。比如说,我可以以管理员身份登录,然后需要将数据从 csv/json 文件加载到数据存储区中。

  2. Datastore Admin: 我认为这个实验性功能是为了备份/恢复。它适用于 GO 运行时吗?存储备份文件的格式。我可以用 json 做吗?

谢谢。

【问题讨论】:

    标签: google-app-engine google-cloud-datastore database-backups


    【解决方案1】:

    我在 AppEngine 上运行了一些应用程序,根据我的经验,最初使用现有数据填充数据库的最简单方法是将 .json 文件与您的应用程序文件一起包含,然后使用:

    with open( 'yourdata.json', 'r') as file :
        data = json.loads( file.read() )
    

    获取您的数据,然后重新创建必要的数据库实体。您可以在下次上传应用程序时删除 .json 文件,因为不再需要这些文件。

    关于备份,有 Datastore Admin,它允许您创建备份并将它们存储到 BlobStore 或其他一些云空间,但我发现它们真的不方便再次下载和重新上传 - 有几十个不同的文件,很容易忘记或错过。

    因此,我建议您编写自己的备份例程,同时将您的数据保存到 BlobStore,但保存在一个文件中,这样您就可以轻松下载并重新上传,而不必担心丢失/忘记文件。

    备份文件的创建非常简单——打开BlobStore 文件进行写入,然后迭代您的模型并将它们转换为.json 并写入(可选地使用(g)zip 即时压缩)到@ 987654325@文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-08-14
      • 1970-01-01
      • 1970-01-01
      • 2023-03-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多