По умолчанию локальный сервер разработки автоматически создает составные индексы, необходимые для фактических запросов, вызываемых в вашем приложении.От Создание индексов с использованием сервера разработки :
Веб-сервер разработки ( dev_appserver.py ) автоматически добавляет элементы в этот файл, когда приложение пытается выполнитьзапрос, для которого нужен индекс, для которого нет соответствующей записи в файле конфигурации.
Если на сервере разработки вы выполняете каждый запрос, который будет выполнять ваше приложение, сервер разработки сгенерирует полный список записей.в файле index.yaml
.
Когда веб-сервер разработки добавляет сгенерированное определение индекса к index.yaml
, он делает это ниже следующей строки, вставляя ее при необходимости:
# AUTOGENERATED
Веб-сервер разработки считает все определения индекса ниже этой строки автоматическими и может обновлять существующие определения ниже этой строки, когда приложение выполняет запросы.
Но вам также необходимо развернуть сгенерированные конфигурации индекса вхранилище данных и пусть хранилище данных обновляет информацию об индексировании (т.е.индексы для входа в состояние Serving
) для соответствующих запросов, чтобы не возникла ошибка NEED_INDEX
.Начиная с Обновление индексов :
Вы загружаете файл конфигурации index.yaml
в Cloud Datastore с помощью команды gcloud
.Если файл index.yaml
определяет какие-либо индексы, которые не существуют в Cloud Datastore, эти новые индексы создаются.
Для Cloud Datastore может потребоваться некоторое время, чтобы создать все индексы и, следовательно, эти индексы выиграли 'быть немедленно доступным для App Engine.Если ваше приложение уже настроено на получение трафика, то могут возникать исключения для запросов, для которых требуется индекс, который еще находится в процессе создания.
Чтобы избежать исключений, необходимо выделить время для построения всех индексов.,Для получения дополнительной информации и примеров создания индексов см. Развертывание приложения Go .
Чтобы загрузить конфигурацию индекса в Cloud Datastore, выполните следующую команду из каталога, где расположен ваш index.yaml.:
gcloud datastore create-indexes index.yaml
Информацию см. В справочнике gcloud datastore
.
. Вы можете использовать консоль GCP, чтобы проверять состояние своих индексов .