1

我想知道:我必须在 GAE 上管理一个应用程序,并且必须在其生命周期的不同阶段管理这个应用程序。该应用程序使用数据存储、谷歌云存储和一些谷歌地图 API。我希望至少有两个环境,开发和生产,如果不是更多的话。

有可能这么容易吗?我该怎么做?例如,我的 appengine 控制台中是否需要有两个单独的应用程序?

此外,还有一个包含许多用户(大约 9000 个并且还在增加)的大数据存储,我需要对其进行管理,但我希望能够将此数据存储从一个环境复制到另一个环境(以避免使用开发值污染生产数据存储) . 是否可以?如果是的话,在开发数据存储中自动备份生产数据存储的速度有多慢,知道其中大约有 1 000 000 个实体?

是否有一些工具可以为我提供帮助(除了 Git 和 Maven ;)?

4

2 回答 2

1

取决于您是在测试 UI(前端)还是数据(后端)。Appengine 支持访问同一个 dDatastore 的多个版本,本质上不同的前端与同一个后端通信。如果您正在进行不会污染数据的开发,并且可以在不污染数据的情况下进行测试,您可以在开发版本上进行。以后流量拆分或将其设置为默认版本很容易。

如果您正在更改数据 - 例如,重构存储用户和实体的方式 - 那么您需要有一个单独的 appengine 应用程序来开发和测试它。您可以从管理控制台备份和下载数据存储,也可以从左侧的数据 -> 数据存储管理将数据复制到另一个应用程序。它记录在这里。我不认为有一个 API 可以做到这一点,虽然它不会写太多的代码。我有一个脚本来备份/恢复文本搜索数据(管理控制台不支持),它只有几百行。

于 2014-04-04T18:03:05.427 回答
0

我们在 GAE 上有 2 个不同的应用程序。我们每个都有不同的数据集,您可以在应用程序之间备份和恢复数据(https://developers.google.com/appengine/docs/adminconsole/datastoreadmin)。我不建议将此作为周期性的事情,因为它可能会花费您很多钱。它将计入您的配额。

如果您希望为 2 个不同的环境提供相同的数据。您可以使用上面建议的 user2615861 之类的版本 - 但我建议不要这样做。如果您使用与另一个版本不兼容的实体部署版本,则可能会破坏您的应用程序中的内容。

我强烈建议有 2 个应用程序。

于 2014-04-04T20:49:22.770 回答