Is it possible to view and create an index on the Google Cloud Datastore for my project, using the Google Developer Console?
If not, how can I create one via another route?
Some context: I am writing a simple Android app to store/retrieve data from the cloud datastore by customising the "Mobile Backend Starter / MBS" (that backend we are always invited to deploy when creating a new project in the dev console).
I am now at the point where the queries / filters I am specifying in my Android client are returning a "503" error stating that an index is required. I think this is because I am using a "greater than" filter in my query.
So how can I add one? Or do I have to edit the backend deployment package to do this? If so, then how can I do this e.g. view the folder MBS backend got deployed to? I had assumed MBS was a zero configuration backend - we just need to write the client, but it seems even basic query ops need an index adding so this isn't the case? I am being suggested to add an xml fragment somewhere in the IOException thrown by the list() call I'm making to 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