Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google app engine Google应用程序引擎数据存储索引已创建,但仍获得DatastoreNeedIndexException_Google App Engine_Google Cloud Datastore - Fatal编程技术网

Google app engine Google应用程序引擎数据存储索引已创建,但仍获得DatastoreNeedIndexException

Google app engine Google应用程序引擎数据存储索引已创建,但仍获得DatastoreNeedIndexException,google-app-engine,google-cloud-datastore,Google App Engine,Google Cloud Datastore,我在谷歌应用引擎数据存储中创建了一个名为User的类,我正在尝试为这种类型添加一个索引 首先,我随后创建了索引,在war/WEB-INF中添加了datastore-indexes.xml,但它不起作用,在我部署到app engine后没有创建索引 然后,我创建了index.yaml并运行gcloud app deploy index.yaml,这次我可以看到在GCP控制台中创建的索引,如下所示 但我还是有一个例外,如下所示: Uncaught exception from servlet co

我在谷歌应用引擎数据存储中创建了一个名为User的类,我正在尝试为这种类型添加一个索引

首先,我随后创建了索引,在war/WEB-INF中添加了datastore-indexes.xml,但它不起作用,在我部署到app engine后没有创建索引

然后,我创建了index.yaml并运行
gcloud app deploy index.yaml
,这次我可以看到在GCP控制台中创建的索引,如下所示

但我还是有一个例外,如下所示:

Uncaught exception from servlet
com.google.appengine.api.datastore.DatastoreNeedIndexException: 
no matching index found. recommended index is:
- kind: User
  properties:
  - name: area
  - name: coins_balance

The suggested index for this query is:
    <datastore-index kind="User" ancestor="false" source="manual">
        <property name="area" direction="asc"/>
        <property name="coins_balance" direction="asc"/>
    </datastore-index>
来自servlet的未捕获异常 com.google.appengine.api.datastore.DatastoreNeedIndexException: 找不到匹配的索引。建议的指数为: -种类:用户 特性: -名称:区域 -姓名:硬币/结余 此查询的建议索引为: 我用“索引已创建,但仍有数据存储需要IndexException”搜索了谷歌,但没有找到任何有用的信息


请有人帮忙,谢谢。

索引中属性的顺序很重要。屏幕截图显示了的索引

-种类:用户
特性:
-姓名:硬币/结余
-名称:区域
你实际上想要:

-种类:用户
特性:
-名称:区域
-姓名:硬币/结余


因此,您可以更改查询以匹配现有索引,也可以构建建议索引的索引。

索引中属性的顺序很重要。屏幕截图显示了的索引

-种类:用户
特性:
-姓名:硬币/结余
-名称:区域
你实际上想要:

-种类:用户
特性:
-名称:区域
-姓名:硬币/结余


因此,您可以更改查询以匹配现有索引,也可以构建推荐索引所对应的索引。

谢谢,这实际上是可行的。但我仍然不明白为什么datastore-indexes.xml不起作用,现在它只在我运行“gcloud app deploy index.yaml”时起作用,索引配置放在index.yaml中。谢谢,这确实起作用。但我仍然不明白为什么datastore-indexes.xml不起作用,现在它只在我运行“gcloud app deploy index.yaml”时起作用,索引配置放在index.yaml中。