使用Java中的Google Compute引擎与数据存储和云存储进行通信

时间:2014-02-01 19:18:17

标签: java google-app-engine google-compute-engine google-cloud-datastore

我是GAE应用程序,它在Google Cloud Datastore中创建了一些数据,并将一些二进制文件存储到Google云端存储中 - 让我们将应用程序称为 WebApp

现在我在 Google云端存储 Google计算引擎上运行了不同的应用程序。我们将应用程序称为 ComputeApp

现在,ComputeApp应连接到数据存储区,查询WebApp创建的实体,并从Google云端存储中读取相关的二进制文件。然后CoumputeApp对二进制文件进行一些处理,例如重新编码为不同的格式,并将其存储回云存储并更新数据存储区中的相关实体。

现在让我描述一个问题:

ComputeApp如何与DataStore通信? (我使用Objectify) 我找到的唯一方法是GAE Remote API for Java。它在连接到我在本地运行的WebApp时起作用,但在连接到GAE中部署的WebApp时不起作用。原因可能是here。但我不知道python,所以我不理解所描述的解决方案。 我的ComputeApp如何与GAE数据存储区服务进行通信还有其他可能的方式吗?

非常感谢!

编辑:我正确地纠正了我的拼写错误。

2 个答案:

答案 0 :(得分:1)

您可以使用Google Cloud Datastore API(目前在预览中)从计算引擎连接到数据存储区

目前不支持像Objectify这样的App Engine Java客户端库,只支持基于protobuf的低级Java API:请参阅Getting Started Guide for Java

我在public issue tracker上创建了一个问题,因为这是工程团队有兴趣在将来支持的内容。

答案 1 :(得分:0)

这个开源API(使用Json API)比协议缓冲区api

更简单

https://github.com/JavaMonday/gcd-json-java

示例用法:

List<Foo> list = ds.gqlQuery(Foo.class).queryString("SELECT * FROM Foo").list();