gpt4 book ai didi

google-cloud-datastore - 谷歌云数据存储运行查询返回 412 "no matching index found"

转载 作者:行者123 更新时间:2023-12-04 17:36:28 25 4
gpt4 key购买 nike

** 更新 **

感谢 Alfred Fuller 指出我需要为此查询创建手动索引。

不幸的是,从 .NET 应用程序使用 JSON API,似乎没有官方支持的方式来这样做。事实上,官方似乎根本没有从 App Engine 之外的应用程序中执行此操作的方法,这很奇怪,因为 Cloud Datastore API 旨在允许访问 App Engine 之外的数据存储区。

我能找到的最接近的黑客是 POST the index definition using RPChttp://appengine.google.com/api/datastore/index/add .有人可以给我关于如何准确执行此操作的原始规范(即 URL 参数,主体应该是什么样子等),也许使用 Fiddler 来检查 appcfg.cmd 发出的调用?

** 原始问题 **

根据docs , “一个查询可以结合不同属性的相等 (EQUAL) 过滤器,以及单个属性上的一个或多个不等式过滤器”。

但是,此查询失败:

{
"query": {
"kinds": [
{
"name": "CodeProse.Pogo.Tests.TestPerson"
}
],
"filter": {
"compositeFilter": {
"operator": "and",
"filters": [
{
"propertyFilter": {
"operator": "equal",
"property": {
"name": "DepartmentCode"
},
"value": {
"integerValue": "123"
}
}
},
{
"propertyFilter": {
"operator": "greaterThan",
"property": {
"name": "HourlyRate"
},
"value": {
"doubleValue": 50
}
}
},
{
"propertyFilter": {
"operator": "lessThan",
"property": {
"name": "HourlyRate"
},
"value": {
"doubleValue": 100
}
}
}
]
}
}
}
}

响应如下:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "FAILED_PRECONDITION",
"message": "no matching index found.",
"locationType": "header",
"location": "If-Match"
}
],
"code": 412,
"message": "no matching index found."
}
}

最佳答案

JSON API 尚不支持本地索引生成,但我们在 https://developers.google.com/datastore/docs/tools/indexconfig#Datastore_Manual_index_configuration 记录了一个过程,您可以按照该过程生成索引的 xml 定义。

请试一试,如果它不起作用,请告诉我们。

这是一个临时解决方案,我们希望尽快替换为自动本地索引生成。

关于google-cloud-datastore - 谷歌云数据存储运行查询返回 412 "no matching index found",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17431486/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com