Как получить данные индексов / столбцов из Google Cloud Platform с помощью GQL (Google Query Language) - PullRequest
0 голосов
/ 04 сентября 2018

Доброе имя: invoice_header

Name/ID                       :id=4829628648652800
amount                        :2900
booking_ids                   :1,2
created_at                    :2018-09-04 10:20:30
discount_amount               :23
due_amount                    :9999
indicator                     :PO
invoice_date                  :2018-09-04
invoice_id                    :451
issued_to                     :P
location_id                   :12
net_payable_amount            :999
order_or_po_id                :533
paid_amount                   :555
partner_id                    :400
payment_mode_promotion_amount :0
status                        :NP
tax_amount                    :34
updated_at                    : 

Я попытался получить данные, используя приведенный ниже запрос GQL из вышеприведенного вида, но получил следующую ошибку.

Ошибка запроса GQL: в вашем хранилище данных нет составного индекса (поставляется разработчиком) для этого запроса.

select invoice_date from invoice_header where location_id ='12' and invoice_date >= '2018-09-01' and invoice_date <= '2018-09-05'

1 Ответ

0 голосов
/ 05 сентября 2018

Вы добавили индексный файл в свое приложение?

Как указано в документации [1] , каждому запросу Cloud Datastore, сделанному приложением, требуется соответствующий индекс. Индексы для простых запросов, таких как запросы к одному свойству, создаются автоматически. Индексы для сложных запросов должны быть определены в файле конфигурации с именем index.yaml. Этот файл загружен вместе с приложением для создания индексов в облачном хранилище данных.

Составные индексы поддерживают сложные запросы и определены в файле конфигурации индекса (index.yaml).

В вашем случае вам нужно добавить составной индекс, который включает свойства location_id и invoice_date. Это пример index.yaml:

индексы: - вид: invoice_header свойства: - имя: location_id направление: asc - имя: invoice_date направление: asc

Когда вы закончите изменять файл конфигурации индекса, выполните команду "gcloud datastore create-indexes", чтобы поместить индексы в службу.

В [2] вы найдете более широкое объяснение индексов.

Приветствие.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...