我使用Google App Engine for Java部署了应用程序。如何将远程数据存储区(来自生产)与本地开发服务器一起使用?
我的问题与that one非常相似,只是我询问的是Java,而不是Python。
答案 0 :(得分:1)
本地程序可以通过service-account
进行身份验证。
Here和here是有关如何在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);