0

Я использую библиотеку gcloud-python для запроса данных из облачного хранилища данных. Рассмотрим мой фрагмент кода, чтобы быть, как это412 Не найдено ни одного совпадающего индекса при выполнении запроса в облачном хранилище данных

from google.appengine.ext import ndb 
from datetime import datetime 
class Order(ndb.Model): 
    order_name = ndb.StringProperty(required=True) 
    date_created = ndb.DateTimeProperty(default= datetime.now()) 

#code for quering the cloud datastore 
from gcloud.datastore.query import Query 

date_start = datetime.combine(date(year=2015, month=08, day=01), time()) 
date_end = datetime.combine(date(year=2015, month=08, day=03), time()) 

query = Query(kind='Order') 

query.add_filter('order_name', '=', 'grand-line-order') 
query.add_filter('date_created', '<', date_end) 
query.add_filter('date_created', '>', date_start) 

iterator = query.fetch(limit=10) 
records, more, cursor = iterator.next_page() 
print records 

Для приведенного выше фрагмента кода я получаю

File "/Users/sathyanarrayanan/Desktop/app/services/cdr_helper.py", line 528, in fetch_cdr 
    records, more, cursor = iterator.next_page() 
    File "/Users/sathyanarrayanan/Desktop/app/gcloud/datastore/query.py", line 388, in next_page 
    transaction_id=transaction and transaction.id, 
    File "/Users/sathyanarrayanan/Desktop/app/gcloud/datastore/connection.py", line 257, in run_query 
    datastore_pb.RunQueryResponse) 
    File "/Users/sathyanarrayanan/Desktop/app/gcloud/datastore/connection.py", line 108, in _rpc 
    data=request_pb.SerializeToString()) 
    File "/Users/sathyanarrayanan/Desktop/app/gcloud/datastore/connection.py", line 85, in _request 
    raise make_exception(headers, content, use_json=False) 
PreconditionFailed: 412 no matching index found. 

Мой index.yaml файл, как это.

Я делаю что-то неправильно? Пожалуйста, помогите мне.

ответ

1

Все ваши индексы с использованием предков: да, так что ключ предка должен быть добавлен в ваш запрос. без предка вашей конфигурации индекса требуется еще один индекс с «предком: нет»

- kind: Order 
    ancestor: no 
    properties: 
    - name: order_name 
     direction: asc 
    - name: date_created 
     direction: desc 

Примечания: специфические индексов для каждого запроса

0

index configuration docs указывает, что конфигурация индекса должна быть в файле XML с именем datastore-indexes.xml.

+1

на самом деле я использовал питон, который бы был бы index.yaml. –

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