Google云端平台 - 统一库

时间:2016-06-19 17:28:43

标签: java google-app-engine

我已经开始使用Java开发新项目,并希望将其部署在Google Cloud Platform(而不是App Engine!)上。我还想使用GCP提供的一些服务/产品:Datastore,PubSub等。

我从数据存储区开始,发现了一个很好的库: https://github.com/GoogleCloudPlatform/gcloud-java

然后我决定开始使用PubSub,发现gcloud-java没有任何与PubSub相关的东西。 Java PubSub的一些受支持的库在这里: https://cloud.google.com/pubsub/libraries

所以,我只想确认(因为对我来说似乎太奇怪了),Google没有为他们的服务提供任何统一的Java库?除了使用两个库(使用不同的策略来管理凭证等),我别无他法?

任何帮助/建议都将受到高度赞赏! 提前谢谢。

1 个答案:

答案 0 :(得分:0)

我根本不认为你需要先使用lib。您只需要关注:

compile "com.google.api-client:google-api-client:1.21.0"
compile "com.google.apis:google-api-services-pubsub:v1-rev8-1.21.0"

你的代码就像:

HttpTransport httpTransport = new ApacheHttpTransport();
JsonFactory jsonFactory = JacksonFactory.getDefaultInstance()
GoogleCredential credentials = GoogleCredential
      .fromStream(json)
      .createScoped(PubsubScopes.all());

// or on Google Cloud Platform
GoogleCredential credentials = GoogleCredential
      .getApplicationDefault(httpTransport, jsonFactory);

Pubsub pubsub = new Pubsub.Builder(httpTransport, jsonFactory, credentials)
      .build();