Я пытаюсь использовать хранилище google для моего приложения без GAE.Ошибка индексации при поиске в Google Datastore с использованием gcloud
Для этого я создал виды и связанные с предком сущности в хранилище данных, используя библиотеку python gcloud.
Также обновлена конфигурация индекса данных хранилища для всех видов с использованием gcd-инструмента через файл WEB-INF/datastore-indexes.xml и его статус.
Однако я не могу успешно запросить столбцы, основанные на индексе, либо на консоли, либо с помощью gcloud lib.
Вот запрос & отслеживающий
from gcloud import datastore
ds = datastore.Client(dataset_id='XXXXXX')
query = datastore.Query(ds, kind='event')
query.add_filter('EvtName', '=', 'buy')
query.add_filter('EventDateTime', '<=', datetime.datetime(2015, 10, 22, 8, 45))
for itm in query.fetch():
print(dict(itm))
gcloud.exceptions.PreconditionFailed: 412 no matching index found.
вот мой хранилищу-indexes.xml конфигурации
<?xml version="1.0" encoding="utf-8"?>
<datastore-indexes
autoGenerate="false">
<datastore-index kind="event" ancestor="true">
<property name="EvtName" direction="desc" />
<property name="EventDateTime" direction="desc" />
</datastore-index>
<datastore-index kind="att" ancestor="true">
<property name="EvtAttName" direction="desc" />
<property name="EventDateTime" direction="desc" />
</datastore-index>
<datastore-index kind="att_val" ancestor="true">
<property name="AttValue" direction="desc" />
<property name="EventDateTime" direction="desc" />
</datastore-index>
<datastore-index kind="user" ancestor="true">
<property name="EventDateTime" direction="desc" />
</datastore-index>
</datastore-indexes>
я упускаю что-то?
Можете ли вы поделиться запросами, которые вы пытаетесь выполнить? Datastore требует определенных индексов для каждого запроса. –
@PatrickCostello, я обновил свой вопрос с запросом. Пожалуйста, проверьте – shivg