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

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

Затем я попытался добавить чтение и запись в Datastore и обнаружил, что когда я запускаю свое приложение для 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 SEVERE: исключение произошло при вызове метода backend 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(DatastoreImp7). com.google.cloud.datastore.DatastoreImpl$4.call(DatastoreImpl.java:313) на com.google.api.gax.retry.DirectRetringExecutor.submit(DirectRetringExecutor.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:27) 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 хранилища данных вместо локального хранилища данных?

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

0 ответов

Другие вопросы по тегам