在
PHP和Google数据存储区本地开发的最佳方法是什么?
dev_appserver.py docs说我可以查看本地数据存储区实体,但是没有关于如何使用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();
但是这些实体在http://localhost:8000/datastore没有显示在dev_appserver.py的本地管理服务器中.
甚至将dev_appserver的–datastore_path设置为等于模拟器的–data-dir也不会做任何事情.
为什么数据存储模拟器和dev_appserver.py的数据存储区不同?它们共享相同的名称,文档可互换地引用它们.这令人沮丧.
Google Cloud Datastore Emulator和dev_appserver.py具有不同的底层存储空间.
因此,数据存储模拟器上的实体无法在管理服务器查看器中显示.
因此,数据存储模拟器上的实体无法在管理服务器查看器中显示.
看到:
> https://github.com/GoogleCloudPlatform/google-cloud-datastore/issues/21
> Connecting to AppEngine datastore in development via Cloud Datastore API
可能有两种方法可以连接到本地数据流(我没有尝试使用PHP):
>使用appengine-php-sdk for standard enviroment,通过dev_appserver.py启动开发服务器,并从admin server viewer查看数据存储.
>使用google/cloud library for php,并设置DATASTORE_EMULATOR_HOST env变量.
不幸的是,没有模拟器的查看器,所以我正在开发cli工具来通过GQL检查数据存储区实体:https://github.com/nshmura/dsio