Локальный сервер приложений, использующий удаленное хранилище данных

Я успешно выполнил руководство по конечным точкам Google Cloud и создал проект с AppEngine, используя конечные точки, и подключился к нему из приложения Android. (Как подробно описано здесь: https://cloud.google.com/endpoints/docs/frameworks/java/get-started-frameworks-java). Я также добавил аутентификацию в приложение.

Затем я попытался добавить чтение и запись в хранилище данных и обнаружил, что когда я запускаю свое приложение для Android на своем локальном сервере разработки, все начинается так:

dev_appserver.cmd -a 0.0.0.0 .\target\echo-1.0-SNAPSHOT\

локальный сервер разработки не использует локальное хранилище данных, он использует удаленное облачное хранилище данных.

Я вижу, как объекты создаются в производственном хранилище данных в облачной консоли.

Локальный файл «local_db.bin» не создается.

Я также обнаружил, что если я отключу API хранилища данных в Cloud Console, мой локальный сервер разработки выдаст это исключение, напечатанное в окне терминала консоли:

03 августа 2017 г. 5:44:59 EM com.google.api.server.spi.SystemService invokeServiceMethod СЕРЬЕЗНО: возникло исключение при вызове внутреннего метода com.google.cloud.datastore.DatastoreException: API облачного хранилища данных не включен для проекта XXXXXXX (здесь я отредактировал название своего проекта) по адресу com.google.cloud.datastore.spi.v1.HttpDatastoreRpc.translate(HttpDatastoreRpc.java:128) по адресу com.google.cloud.datastore.spi.v1.HttpDatastoreRpc.translate( HttpDatastoreRpc.java:113) по адресу com.google.cloud.datastore.spi.v1.HttpDatastoreRpc.lookup(HttpDatastoreRpc.java:163) по адресу com.google.cloud.datastore.DatastoreImpl$4.call(DatastoreImpl.java:317) по адресу com.google.cloud.datastore.DatastoreImpl$4.call(DatastoreImpl.java:313) по адресу com.google.api.gax.retrying.DirectRetryingExecutor.submit(DirectRetryingExecutor.java:94) по адресу com.google.cloud.RetryHelper.runWithRetries (RetryHelper.java:54) в com.google.cloud.datastore.DatastoreImpl.lookup(DatastoreImpl.java :312) в com.google.cloud.datastore.DatastoreImpl$ResultsIterator.loadResults(DatastoreImpl.java:288) в com.google.cloud.datastore.DatastoreImpl$ResultsIterator.(DatastoreImpl.java:284) в com.google.cloud .datastore.DatastoreImpl.get(DatastoreImpl.java:274) по адресу com.google.cloud.datastore.DatastoreImpl.get(DatastoreImpl.java:238) по адресу com.google.cloud.datastore.DatastoreHelper.get(DatastoreHelper.java:47). ) на com.google.cloud.datastore.DatastoreImpl.get(DatastoreImpl.java:223)

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

Часть исходного руководства, которому я следовал, заключалась в том, чтобы «развернуть конфигурацию конечных точек» (значение которой я еще не полностью понял) в Google Service Management, выполнив следующие действия:

gcloud service-management deploy openapi.json

Могло ли это что-то настроить в моем проекте, заставив его использовать API удаленного хранилища данных вместо локального хранилища данных?

Я также видел, что есть нечто, называемое эмулятором хранилища данных. Должен ли я как-то использовать это, чтобы использовать локальное хранилище данных?


person Aardvark    schedule 03.08.2017    source источник
comment
Я нашел ответ на этот вопрос: stackoverflow.com/questions/40348653/   -  person Aardvark    schedule 04.08.2017