2017-01-03 4 views
2

Я борюсь с демо-приложением GAE Guestbook. Я не сделал никаких изменений. Я получил это работает локально, но когда я раскрываю его, я получаю следующее сообщение об ошибке:Индекс хранилища GAE не создается

com.google.appengine.api.datastore.DatastoreNeedIndexException: no matching index found. recommended index is: 
- kind: Greeting 
    ancestor: yes 
    properties: 
    - name: date 
    direction: desc 

The suggested index for this query is: 
    <datastore-index kind="Greeting" ancestor="true" source="manual"> 
     <property name="date" direction="desc"/> 
    </datastore-index> 

Когда работают локально, датастор-индексы-auto.xml был создан в целевом/- SNAPSHOT/WEB-INF/appengine-generated. Этот файл содержал точно требуемое описание индекса:

<datastore-indexes> 
    <!-- Used 1 time in query history --> 
    <datastore-index kind="Greeting" ancestor="true"> 
    <property name="date" direction="desc" /> 
    </datastore-index> 
</datastore-indexes> 

Однако приложение вызывает ошибку выше, так или иначе.

Я также попытался перенести его из автоматически созданного xml-файла в файл xml (datastore-indexes.xml) вручную.

Когда я раскрываю через mvn -e appengine:deploy я не получаю сообщение об ошибке или предупреждение:

... 
[INFO] GCLOUD: Jan 02, 2017 8:01:14 PM com.google.apphosting.utils.config.IndexesXmlReader readConfigXml 
[INFO] GCLOUD: INFO: Successfully processed /Users/stephanhofmann/Projects/mvntestapp/target/mvntestapp-1.0-SNAPSHOT/WEB-INF/datastore-indexes.xml 
[INFO] GCLOUD: Jan 02, 2017 8:01:14 PM com.google.apphosting.utils.config.IndexesXmlReader readConfigXml 
[INFO] GCLOUD: INFO: Successfully processed /Users/stephanhofmann/Projects/mvntestapp/target/mvntestapp-1.0-SNAPSHOT/WEB-INF/appengine-generated/datastore-indexes-auto.xml 
... 

В любом случае, Google Developer Console не показывает «Композит» Индексы при проверке под DATASTORE> Указатели. Я ждал более 30 минут (и данных нет, поэтому индексирование должно быть быстрым).

Не уверен, что это Composite Index и должен отображаться здесь, но в приложении отсутствует индекс, и я застрял.

Любая помощь очень ценится.

+0

У меня такая же проблема. Вы нашли решение? –

+0

Такая же проблема здесь. у кого-нибудь есть решение? – DFB

+0

Мне удалось решить проблему и разместил мое решение ниже. – DFB

ответ

0

Running: gcloud приложение развертывания /Users/stephanhofmann/Projects/mvntestapp/target/mvntestapp-1.0-SNAPSHOT/index.yaml

В окне терминала будет определять индексы.

1

У меня возникла такая же проблема при использовании mvn appengine:deploy. Тогда я понял, что я должен использовать mvn appengine:deployIndex явно для генерации индексов. Надеюсь, что помогает другим.

+0

Использование gradle: gradlew appengineDeployIndex работал для меня. спасибо – foolioJones

Смежные вопросы