如何使用Java从本地开发服务器访问生产数据存储?

时间:2017-08-16 12:31:29

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

我使用Google App Engine for Java部署了应用程序。如何将远程数据存储区(来自生产)与本地开发服务器一起使用?

我的问题与that one非常相似,只是我询问的是Java,而不是Python。

1 个答案:

答案 0 :(得分:1)

本地程序可以通过service-account进行身份验证。

Herehere是有关如何在java程序中使用service-account的文档。

使用env变量:

export GOOGLE_APPLICATION_CREDENTIALS=/path/to/my/key.json

或提供JSON凭证文件:

import com.google.auth.oauth2.GoogleCredentials;
import com.google.cloud.datastore.Datastore;
import com.google.cloud.datastore.DatastoreOptions;
import com.google.cloud.datastore.Entity;
import com.google.cloud.datastore.Key;
import com.google.cloud.datastore.KeyFactory;

DatastoreOptions options = DatastoreOptions.newBuilder()
  .setProjectId(PROJECT_ID)
  .setCredentials(GoogleCredentials.fromStream(
    new FileInputStream(PATH_TO_JSON_KEY))).build();
Datastore datastore = options.getService();
KeyFactory keyFactory = datastore.newKeyFactory().setKind(KIND);
Key key = keyFactory.newKey(keyName);
Entity entity = datastore.get(key);