【问题标题】:How generate datastore-indexes.xml in Google App engine application (Java)如何在 Google App 引擎应用程序 (Java) 中生成 datastore-indexes.xml
【发布时间】:2018-08-03 13:13:04
【问题描述】:

我们有一个 java 应用程序,我们将它部署在 Google App 引擎上。我们在数据存储中创建了大约 150 个索引,并且在生产环境中运行良好。

但不知何故,我们错过了 datastore-indexes-auto.xml 中的索引信息,并且没有任何名为 datastore-indexes.xml 的文件。

现在我们想要 datastore-indexes.xml / datastore-indexes-auto.xml 以及现在在生产中服务的所有现有索引。

我们怎样才能做到这一点?我检查了appcfg/gcloud 命令,没有任何命令可以从应用引擎应用程序导入/下载索引文件。

谢谢

【问题讨论】:

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


    【解决方案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 个文件的信息。

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-07-08
        • 1970-01-01
        • 1970-01-01
        • 2017-12-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多