Как написать в локальное хранилище данных 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 имеют различное базовое хранилище. Таким образом, сущности в эмуляторе хранилища данных не могут быть показаны в средстве просмотра сервера администратора.

увидеть:

Есть два способа подключения к локальному datasotre (я не пробовал с php):

  1. Используйте appengine-php-sdk для стандартного окружения, запустите сервер разработки с помощью dev_appserver.py и просмотрите хранилище данных из средства просмотра сервера администратора.

  2. Используйте библиотеку 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 ... 
Другие вопросы по тегам