我正在尝试使用在本地系统上运行的低级Java API,从独立的Java应用程序(而不是web应用程序或servlet(访问Google数据存储。
remoteapi似乎是最简单的方法。但是,我需要为每个指定一个服务器
RemoteApiOptions options = new RemoteApiOptions()
.server("your_app_id.appspot.com", 443)
.useApplicationDefaultCredential();
如何指定访问数据存储的服务器(…(调用?我已经运行
gcloud auth login
我有一个为Datastore配置的项目(有项目ID等(,但没有"app_ID",因为没有涉及应用程序。
是否有用于访问数据存储的标准服务器?或者有更好的方法从独立的java应用程序访问数据存储吗?
要访问App Engine外部的云数据存储,请按照不涉及远程API的文档进行操作。该页面上给出的完整示例使用Maven(针对Java版本(,但是,如果您不喜欢这样开发,您可以将源代码作为一个使用示例,并单独安装Google Cloud Client Library for Java;对于独立运行(不在应用程序引擎或计算引擎中(,您将根据该页面上的示例明确授权…:
import com.google.gcloud.AuthCredentials;
import com.google.gcloud.datastore.Datastore;
import com.google.gcloud.datastore.DatastoreOptions;
import com.google.gcloud.datastore.Entity;
import com.google.gcloud.datastore.Key;
import com.google.gcloud.datastore.KeyFactory;
DatastoreOptions options = DatastoreOptions.builder()
.projectId(PROJECT_ID)
.authCredentials(AuthCredentials.createForJson(
new FileInputStream(PATH_TO_JSON_KEY))).build();
Datastore datastore = options.service();
KeyFactory keyFactory = datastore.newKeyFactory().kind(KIND);
Key key = keyFactory.newKey(keyName);
Entity entity = datastore.get(key);