我試圖從本地機器以Java連接到Google App Engine的數據存儲區。我不會在GAE上使用該應用程序,它將在AWS上使用。連接到Google App Engine數據存儲區
我試過
我試着用 DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
,但我認爲這是當應用程序在GAE宴請。
現在,我使用通過系統變量GOOGLE_APPLICATION_CREDENTIALS獲取的json憑證文件啓動並運行Google Storage。連接工作正常,所以我的猜測是我可能不得不做類似於存儲的東西。 我做了這樣的事情對於存儲:
HttpTransport transport = GoogleNetHttpTransport.newTrustedTransport();
JsonFactory jsonFactory = new JacksonFactory();
GoogleCredential credential = GoogleCredential.getApplicationDefault(transport, jsonFactory);
if (credential.createScopedRequired()) {
Collection<String> bigqueryScopes = StorageScopes.all();
credential = credential.createScoped(bigqueryScopes);
}
Storage client = new Storage.Builder(transport, jsonFactory, credential)
.setApplicationName("APPLICATION_NAME")
.build();
問題
所以我的問題是:我怎樣才能連接到谷歌App Engine數據存儲從谷歌應用程序引擎之外嗎?
謝謝你的幫助!
非常感謝您的快速答覆!該項目設法「工作」,但現在我得到一個不同的錯誤,告訴我api沒有啓用我的項目:雲數據存儲API未啓用項目PROJECT_NAME 什麼是奇怪的是,我已啓用它在api控制檯:[link](https://console.cloud.google.com/apis/library?) 您是否知道我是否需要做其他事情? 謝謝! – madube94
dev上的另一個選項是使用'GOOGLE_APPLICATION_CREDENTIALS'環境變量指向從雲控制檯中的憑據選項卡生成的服務帳戶json,例如'export GOOGLE_APPLICATION_CREDENTIALS =/path/to/key.json' –
我打開了一個問題: https://github.com/GoogleCloudPlatform/gcloud-java/issues/843 –