Как ndb (и облачное хранилище данных) используется в примере крестики-нолики firebase

В примере крестики-нолики firebase движка приложений Google: https://cloud.google.com/solutions/using-firebase-real-time-events-app-engine

nbd используется для создания модели данных игры. Эта модель используется в коде для хранения состояния игры в крестики-нолики. Я думал, что nbd использовался для хранения данных в Cloud Datastore, но, насколько я могу судить, ничего не хранится в Cloud Datastore связанного облачного проекта Google. Я думаю, это связано с тем, что я запускаю приложение в «режиме разработчика» с python dev_appserver.py app.yaml. В этом случае данные хранятся в памяти, а не записываются в облачное хранилище данных?




Ответы (2)


Вы правы, при локальном запуске приложения используется эмуляция хранилища данных, содержащаяся внутри dev_appserver.py.

Данные хранятся не в памяти, а на локальном диске. Таким образом, даже если сервер разработки перезапустится, он все равно найдет данные «хранилища данных», записанные при предыдущем выполнении.

Вы можете проверить фактически сохраненные данные с помощью интерфейса администратора локального сервера разработки по адресу http://localhost:8000/datastore

person Dan Cornilescu    schedule 02.04.2018

Ответ Дэна правильный; ваш "dev_appserver.py" автоматически создает локальный хранилище данных.

Я хотел бы добавить, что если вы хотите имитировать реальную среду Cloud Datastore и иметь возможность генерировать полезные индексы для вашего производственного Cloud Datastore, у нас есть эмулятор, который может это сделать. Полагаю, именно поэтому вы хотите, чтобы ваше приложение для разработчиков использовало реальное хранилище данных?

В любом случае, если вы просто проводите тестирование и вам нужно постоянное хранилище для тестирования (не для производства), тогда будет достаточно как локального хранилища сервера разработчика по умолчанию, так и эмулятора Cloud Datastore.

person Ying Li    schedule 02.04.2018