Как написать в локальное хранилище данных App Engine с помощью PHP
Каков наилучший способ локальной разработки на PHP и в хранилище данных Google?
Документы dev_appserver.py говорят, что я могу просматривать локальные сущности хранилища данных, но нет документации о том, как подключиться / записать в это локальное хранилище данных с помощью PHP.
Я могу написать в локальный эмулятор хранилища данных, используя:
// Start emulator: gcloud beta emulators datastore start --data-dir=_datastore
// Pointing this to dev_appserver's 'API server' doesn't work.
putenv('DATASTORE_EMULATOR_HOST=http://localhost:8081');
$datastore = $cloud->datastore();
Но эти объекты не отображаются на локальном административном сервере dev_appserver.py по адресу http://localhost:8000/datastore.
Даже установка dev_appserver --datastore_path
быть равным эмулятору --data-dir
ничего не делает.
Почему эмулятор хранилища данных и хранилище данных dev_appserver.py различаются? Они имеют одно и то же имя, и документы ссылаются на них взаимозаменяемо. Это расстраивает.
Это правильный способ разработки локального хранилища данных? Есть ли способ записи в локальное хранилище данных и отображения сущностей в средстве просмотра административного сервера?
2 ответа
Эмулятор хранилища данных Google Cloud и dev_appserver.py имеют различное базовое хранилище. Таким образом, сущности в эмуляторе хранилища данных не могут быть показаны в средстве просмотра сервера администратора.
увидеть:
https://github.com/GoogleCloudPlatform/google-cloud-datastore/issues/21
Подключение к хранилищу данных AppEngine в разработке через API Cloud Datastore
Есть два способа подключения к локальному datasotre (я не пробовал с php):
Используйте appengine-php-sdk для стандартного окружения, запустите сервер разработки с помощью dev_appserver.py и просмотрите хранилище данных из средства просмотра сервера администратора.
Используйте библиотеку google / cloud для php и установите
DATASTORE_EMULATOR_HOST
переменная env.
К сожалению, для эмулятора нет средства просмотра, поэтому я разрабатываю инструмент Cli для проверки сущностей хранилища данных с помощью GQL: https://github.com/nshmura/dsio
Вы пытались передать переменные окружения в исполняемый файл php, прежде чем включать библиотеки?
может быть попробовать это:
#/bin/sh
export DATASTORE_EMULATOR_HOST=http://localhost:8081
dev_appserver.py ...