2014-05-25 65 views
0

谷歌数据存储区索引是否可以查看并为我的项目创建的谷歌云存储的索引,使用谷歌开发者控制台?查看和修订,从控制台

如果没有,我怎么可以创建通过另一条途径吗?

某些上下文:我正在编写一个简单的Android应用程序,通过自定义“Mobile Backend Starter/MBS”来存储/检索云数据存储中的数据(后端我们总是被邀请在dev中创建新项目时进行部署安慰)。

我现在在的地步查询/过滤器,我在我的Android客户端指定正在返回“503”错误,指出索引是必需的。我认为这是因为我在查询中使用了“大于”筛选器。

那么我该如何添加一个?或者我是否必须编辑后端部署包来执行此操作?如果是这样,那我该怎么做,例如查看文件夹MBS后端部署到?我曾以为MBS是一个零配置后端 - 我们只需要编写客户端,但似乎即使是基本的查询操作都需要添加索引,所以情况并非如此?我被建议由列表抛出IOException异常的地方添加一个XML片段()调用我正在给CloudBackend:

com.google.api.client.googleapis.json.GoogleJsonResponseException: 503 Service Unavailable 
{ 
    "code": 503, 
    "errors": [ 
{ 
    "domain": "global", 
    "message": "com.google.appengine.api.datastore.DatastoreNeedIndexException: no matching index found.\nThe suggested index for this query is:\n <datastore-index kind=\"DB\" ancestor=\"false\" source=\"manual\">\n  <property name=\"_createdBy\" direction=\"asc\"/>\n  <property name=\"originatingDeviceID\" direction=\"asc\"/>\n  <property name=\"LastUpdatedOn\" direction=\"asc\"/>\n </datastore-index>\n\n", 
    "reason": "backendError" 
} 

... SNIP 
+0

在Python中有一个未公开的API,可以让你查询索引defintions(我已经测试了这一点),并且在理论上可能会允许你创建索引定义(我还没有尝试过)。 https://code.google.com/p/googleappengine/source/browse/trunk/python/google/appengine/api/datastore_admin.py我不知道java中是否有这样的东西。 –

回答

0

感谢所有为你的输入 - 在这里备查是用户喜欢我,谁刚刚部署MBS,并没有/不想与服务器端代码应只是部署和去互动解决方案。

首先你通过谷歌的App Engine SDK工具下载当前部署的后端:

appcfg.cmd --application=my-project-name download_app . 

然后在WEB-INF /数据存储,indexes.xml我们看到了自动生成指数已经在被禁用香草MBS配置。

<?xml version="1.0" encoding="utf-8"?> 
<datastore-indexes autoGenerate="false"> 
    <datastore-index kind="_CloudMessages" ancestor="false"> 
     <property name="topicId" direction="asc"/> 
     <property name="_createdAt" direction="desc"/> 
    </datastore-index> 
</datastore-indexes> 

这就是为什么我的索引没有建立。然后,您粘贴所幸被包含在Java IOException异常邮件正文中的推荐指数,并通过将其重新上传到谷歌:

appcfg.cmd --application=my-project-name update_indexes . 

这本来是超有用的谷歌控制台有一定的管理仪表板功能索引很大,因为它必须添加/删除/编辑实体,但似乎只能检查它们。

1

通常,大多数指标都是自动生成的,当你测试你的应用程序。如果没有发生,您需要手动配置datastore-indexes.xml文件。你可以在Java Datastore Index Configuration上阅读更多关于它的信息。

+0

谢谢你的指针。所以,我需要编辑WEB-INF/datastore-indexes.xml这个文件是否可以通过控制台直接下载/修改/上传?对不起,这一定是这样一个基本的问题......到目前为止,我几乎没有触及后端/只使用了自动部署工具。 – jcollomosse

+0

您的项目中的war/WEB-INF /目录中应该已经有此文件(或datastore-indexes-auto.xml)。 –

+0

当然,我明白,谢谢你......我的意思是,我怎么能得到那个文件?我没有后端项目或代码,它是我创建项目时自动部署的后端。我可以使用某些工具来访问该XML文件吗?谢谢。 – jcollomosse