开发结合 AppEngine 和 GCE 的分布式应用程序在访问共享数据时可能具有挑战性。这个问题探讨了如何在 GCE 上运行的独立 Go 二进制文件与 AppEngine 的 devappserver 中的嵌入式数据存储之间建立连接。
目前,还不能使用 Google Cloud Datastore API(客户端库)连接到 AppEngine 嵌入式数据存储在开发环境中可行。这是由于 Google Cloud Datastore 工具 (gcd.sh) 使用的 Java 开发服务器和用于 Go 开发的 Python 开发服务器之间的底层架构差异造成的。
虽然直接 HTTP 调用是一种替代方案,但它们呈现他们自己的一系列挑战。开发服务器目前不支持 Go 客户端库使用的 JSON API。
解决方法:
根据 proppy 的建议,使用 Cloud Datastore Protobuf HTTP API 是一个可行的解决方法。这涉及将 Protobuf 定义编译为 Go 代码并将 POST HTTP 请求直接发送到数据存储端点。虽然此方法需要手动制作请求,但它提供了与 Cloud Datastore API 的直接连接,与客户端库相比,这可以提供更高的稳定性。请注意,使用此方法无法在应用程序和正在开发的云数据存储之间共享数据。
以上是如何在开发中从独立的 Go 二进制文件访问 AppEngine 数据存储区?的详细内容。更多信息请关注PHP中文网其他相关文章!