首页 > 后端开发 > Golang > 使用 dev_appserver.py 和 google.golang.org/ 连接到 Google Cloud Datastore

使用 dev_appserver.py 和 google.golang.org/ 连接到 Google Cloud Datastore

PHPz
发布: 2024-02-10 11:00:11
转载
1177 人浏览过

使用 dev_appserver.py 和 google.golang.org/ 连接到 Google Cloud Datastore

php小编草莓将为您介绍如何使用 dev_appserver.py 和 google.golang.org/ 连接到 Google Cloud Datastore。dev_appserver.py 是一个开发服务器,可以模拟 Google App Engine 的环境,而 google.golang.org/ 则是一个 Go 语言的官方代码库。通过结合使用这两者,您可以轻松连接到 Google Cloud Datastore,并进行数据的读取和写入操作。在本文中,我们将为您详细讲解具体的操作步骤,以帮助您快速上手并顺利连接到 Google Cloud Datastore。

问题内容

正如标题所说。我们有一个旧版 Go 1.11 AppEngine API,需要 dev_appserver.py 才能运行。简而言之,我希望 appengine.Main()appengine.NewContext(r) 允许我的应用程序使用我的 project-id 指向我的云数据存储,而不是本地模拟器的存储。我设置了 GOOGLE_APPLICATION_CREDENTIALS 没有效果。

这样我就可以在本地运行服务器,同时访问共享的云数据库。

我正在使用 google.golang.org/[email protected]dev_appserver.py --enable_console --port=8081 --support_datastore_emulator=true --go_debugging=true app.yaml

这可能吗?或者在使用旧的 Go 库时我是否停留在本地模拟器上?

解决方法

从评论转向回答

  1. 查看 go 1.11 的 remote_api https://www.php.cn/link/2d680487650d66445b50d3d759eccad4

  2. 使用它的逻辑类似于 -

    如果在本地环境中运行,请使用 remote_api 否则坚持默认行为(即由于 remote_api 否则坚持默认行为(即由于

    未启用,它将在本地环境中使用模拟器或直接在生产中使用生产数据)

    为了简单起见,您可以尝试使用相同的变量名称,即

    if this is local environment
     ctx, err := remote_api.NewRemoteContext(host, hc)
    else
     ctx := appengine.NewContext(r)
    登录后复制

    然后,您在对数据存储区的其余查询/调用中使用“ctx”

    注意:

    我不熟悉“go”,因此将以上内容视为伪代码而不是工作代码
  3. --support_datastore_emulator=true您可能还想考虑不使用

    标志运行上述更改
🎜

以上是使用 dev_appserver.py 和 google.golang.org/ 连接到 Google Cloud Datastore的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:stackoverflow.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板