2014-05-25 64 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