正如标题所说,我们有一个遗留的Go 1.11 AppEngine API,它需要dev_appserver.py
来运行。简单地说,我希望appengine.Main()
和appengine.NewContext(r)
允许我的应用程序使用我的project-id
指向我的云数据存储,而不是本地模拟器的存储。我设置了GOOGLE_APPLICATION_CREDENTIALS
,但没有用。
这样我就可以在访问共享的云数据库时本地运行服务器。
我使用的是google.golang.org/appengine@v1.6.6
和dev_appserver.py --enable_console --port=8081 --support_datastore_emulator=true --go_debugging=true app.yaml
这是可能的吗?或者我在使用旧的Go语言库时被本地模拟器卡住了?
1条答案
按热度按时间bwleehnv1#
从评论到回答
1.看看Go语言1.11 https://cloud.google.com/appengine/docs/legacy/standard/go111/tools/remoteapi的
remote_api
1.使用它的逻辑是这样的-
如果在本地环境中运行,请使用
remote_api
,否则请坚持默认行为(即,由于remote_api
未启用,它将在本地环境中使用模拟器或直接在生产中使用生产数据)为了简单起见,您可以尝试使用相同的变量名,即
然后,在对datastore的其余查询/调用中使用“ctx
**注意:**我不熟悉“Go”,因此将上述代码视为伪代码,而不是工作代码
1.您可能还需要考虑不使用
--support_datastore_emulator=true
标志运行上述更改