2016-06-19 226 views
0

我已經開始使用Java開發新項目,並希望將其部署到Google Cloud Platform(而不是App Engine!)。我也想用一些由GCP提供的服務/產品:數據存儲,PubSub的等Google雲端平臺 - 統一庫

我開始與數據存儲,並找到了很好的圖書館: https://github.com/GoogleCloudPlatform/gcloud-java

然後,我決定開始使用的PubSub和發現gcloud-java沒有與PubSub相關的任何東西。 一些針對Java PubSub的支持庫都在這裏: https://cloud.google.com/pubsub/libraries

所以,我只是想確認(因爲它似乎太奇怪了我),那谷歌沒有對他們的服務有任何統一的Java庫?除了使用兩個庫(使用不同的策略來管理憑證等),我沒有別的辦法了嗎?

任何幫助/建議將不勝感激! 預先感謝您。

回答

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();