我是Google App Engine的新手,我对与本地数据存储区连接相关的答案感到困惑。
我的最终目标是将数据从Google数据存储区流向大查询数据集,类似于https://blog.papercut.com/google-cloud-dataflow-data-migration/。我在本地拥有此DataStore的副本,当我运行本地App Engine时可以访问,也就是说,当我使用$[GOOGLE_SDK_PATH]/dev_appserver.py --datastore_path=./datastore
时,我可以通过管理控制台访问它。
我想知道是否可以使用App Engine实例以外的服务连接到此数据存储区,python google-cloud-datastore甚至Apache Beam ReadFromDatastore method。如果没有,我应该将Datastore Emulator与App Engine数据存储生成的文件一起使用吗?
如果有人知道如何继续,我会非常感激知道该怎么做。
答案 0 :(得分:2)
如果可能,则必须通过数据存储模拟器,该模拟器还能够为App Engine以外的应用程序提供服务。但它最终取决于您打算使用的库的实现 - 如果底层访问方法能够理解指向正在运行的数据存储模拟器的DATASTORE_EMULATOR_HOST
环境变量并使用它而不是真正的数据存储区。我想你只需要尝试一下。
但请注意,数据存储模拟器使用的本地存储目录内部格式可能与开发服务器使用的格式不同,因此在尝试之前请先备份.datastore
目录,以防万一。来自Local data format conversion:
目前,本地数据存储模拟器将数据存储在sqlite3中 Cloud Datastore Emulator将数据存储为Java对象。
当使用旧版sqlite3数据启动dev_appserver时,数据会 转换为Java对象。原始数据用。备份 filename {original-data-filename} .sqlitestub。