gpt4 book ai didi

google-app-engine - 通过 Cloud Datastore API 连接到开发中的 AppEngine 数据存储

转载 作者:IT王子 更新时间:2023-10-29 00:44:18 25 4
gpt4 key购买 nike

我们目前正在运行 AppEngine/GCE 组合应用程序,到目前为止,我们的所有数据存储访问都在 AppEngine 端进行。现在我们正在探索还允许我们的 GCE 实例对(共享)数据存储进行一些查询。首先,我想弄清楚如何在本地运行。我们目前拥有的:

  • 正在运行的 Go devappserver
  • 想要向 devappserver 数据存储区发出查询的 Go 独立二进制文件。
  • 我们安装了 ('go get') google-api-go-client/datastore/v1beta2,这样我们就可以使用 API 而不是直接发出 HTTP 调用。但是,如果此 API 库无法在开发中运行,我们绝对愿意发出直接 HTTP 调用。
  • 我们设置了服务帐户(我们已经从 GCE 访问 GCS),但我怀疑这是否与本地运行相关...

我看过一些文档,但它们 (a) 只谈论 Python 和 Java,并且 (b) 讨论连接到(独立的)开发数据存储服务器,而不是 AppEngine 的 devappserver 中嵌入的数据存储(如果它们是偶数的话)不同的?)。 StackOverflow 上也有以下答案,但它再次讨论了连接到独立开发数据存储服务器:

How to connect to the local google cloud Datastore db?

如有任何指点,我们将不胜感激!

  • 伊恩

最佳答案

目前由于多种原因,这在开发环境中是不可能的。 Google Cloud Datastore 工具 (gcd.sh) 使用 java 开发服务器。但是,在为 App Engine 开发 go 时,您使用 python 开发服务器,它具有不同的底层存储。在 github page 上有一个错误可以跟踪此问题.

您仍然可以在 go 中开发 Google Cloud Datastore 应用程序,但是有 many bugs在当前的 go 客户端库中。不幸的是,开发服务器目前不支持 go 库使用的 JSON API(请参阅 note at the top of the page)。

更新:我想确保 proppy 的评论被视为答案的一部分。他的建议确实提供了一种使用协议(protocol)版本 API 的方法,这可能比上面的 go 客户端库更稳定。它还可以让您使用 gcd.sh 工具在开发服务器中对此进行测试。不过,您必须自己制作 HTTP 请求,并且您将无法在您的应用程序和开发中的 Cloud Datastore 之间共享数据存储区中的数据。然而,这绝对是一个很好的解决方法,并且允许您使用 Cloud Datastore API,随着它的发展,它会比其他解决方法更容易使用。来自 proppy:

Note that you can still use Cloud Datastore Protobuf HTTP API with Go. The protobuf definition is available on GitHub, you can compile it to Go code using the Go protobuf compiler plugin and then send POST HTTP requests to /datastore/{version}/datasets/{datasetId}/{method}.

关于google-app-engine - 通过 Cloud Datastore API 连接到开发中的 AppEngine 数据存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21864925/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com