如何在Google App引擎应用程序(Java)中生成datastore-indexes.xml

时间:2018-08-03 13:13:04

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

我们有一个Java应用程序,并将其部署在Google App引擎上。我们在数据存储区中创建了约150个索引,这些索引在生产中运行良好。

但是以某种方式我们错过了datastore-indexes-auto.xml中的索引信息,并且没有任何名为datastore-indexes.xml的文件。

现在,我们希望拥有datastore-indexes.xml / datastore-indexes-auto.xml,其中包含现有的所有索引,这些索引现在可以在生产中使用。

我们该怎么做?我检查了appcfg/gcloud命令,没有任何命令可以从App Engine应用程序导入/下载索引文件。

谢谢

2 个答案:

答案 0 :(得分:1)

您可以下载已部署的应用程序代码(How do I download a specific service's source code off of AppEngine?)或在StackDriver中进行检查(类似于Google Cloud DataStore automatic indexing,但查找特定于Java的文件而不是index.yaml)并从那里复制/粘贴索引配置。

将这些配置放入应用程序的版本控制的datastore-indexes.xml文件中(如果需要,请创建它)-这些将是手动维护的索引。开发服务器将继续自动维护datastore-indexes-auto.xml中丢失的内容。数据存储区将在部署时合并2个文件中的信息。

请注意,数据存储区索引是累积性的,如果在xml文件的较新版本中存在的索引较少,则不会自动删除它们,我必须manually vacuumed/deleted。因此,请检查使用上述方法恢复的索引配置确实是“数据存储索引”页面上显示的所有索引配置,所有丢失的索引配置都必须从该页面信息中手动重建。

答案 1 :(得分:0)

gcloud 211.0.0开始,您可以使用gcloud beta数据存储索引列表列出综合索引