为什么我的生产数据存储区的索引不包含在index.yaml中?

时间:2013-03-28 18:18:38

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

在针对dev_appserver.py本地运行我的应用程序时,http://127.0.0.1:8080/_ah/admin/datastore_indexes上列出的索引与index.yaml文件中列出的索引完全匹配。但是,当我在https://appengine.google.com/datastore/indexes查看我的生产索引时,仪表板上会显示一些index.yaml中不存在的其他索引。

这是为什么?生产appengine自动生成像dev_appserver.py这样的新索引吗?或者,如果我知道它们已不再使用,我应该删除这些“剩余”索引吗?

2 个答案:

答案 0 :(得分:4)

他们将成为“剩余”指数。生产服务器只会添加它在index.yaml中找到的新索引,它不会删除旧的索引(不同版本的应用程序可能有不同的索引要求)。

您可以从应用程序的目录运行appcfg.py vacuum_indexes .,它会提示您删除服务器上但缺少index.yaml中的任何内容

答案 1 :(得分:1)

您可能希望删除未使用的索引。新索引是自动生成的,但我们会决定何时清理您(因为我们不知道您何时会在应用程序版本之间切换)。

请参阅https://developers.google.com/appengine/docs/java/tools/uploadinganapp#Updating_Indexeshttps://developers.google.com/appengine/docs/java/tools/uploadinganapp#Deleting_Unused_Indexes