gpt4 book ai didi

java - 如何从 AppEngine 访问 Cloud Datastore?

转载 作者:行者123 更新时间:2023-12-02 04:39:15 27 4
gpt4 key购买 nike

我创建了一个 AppEngine 项目并使用 sample java project作为起点。我希望我的应用程序能够连接到云数据存储,因此我浏览了 getting started文档并将以下内容添加到骨架应用程序中:

datastore = DatastoreFactory.get().create(DatastoreHelper.getOptionsfromEnv()
.dataset(datasetId).build());

然后我构建并部署了应用程序 ( appcfg.sh -A <project> update target/appengine-try-java-1.0 ) 并发出请求,并在日志中收到以下错误:

W 17:40:59.602 2015-05-20  200       0 B   4.12s /demo
172.26.42.164 - - [20/May/2015:14:40:59 -0700] "POST /demo HTTP/1.1" 200 0 - "Apache-HttpClient/4.2.5 (java 1.5)" "project-id.appspot.com" ms=4122 cpu_ms=4667 cpm_usd=0.000158 loading_request=1 instance=00c61b117c2949ed37017839e6c82982472c2c app_engine_release=1.9.21
W 17:40:59.394 com.google.api.services.datastore.client.DatastoreFactory makeClient: Not using any credentials
W 17:40:59.575 [s~project-id/1.384441993309831713].<stderr>: Error while doing datastore operation
W 17:40:59.575 [s~project-id/1.384441993309831713].<stderr>: DatastoreException(Login Required): beginTransaction 401

我需要在 AppEngine 上设置什么才能让它连接到数据存储区吗?它似乎无法在环境中找到任何凭据。

最佳答案

如果您在 App Engine 上运行,则可以使用 native 数据存储区 API ( docs )。

使用 native API,您不需要连接,它“就在那里”,例如:

DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
Entity foo = new Entity("Foo");
foo.setProperty("bar", "baz");
datastore.put(foo);

云数据存储往往指的是打包为外部应用程序服务的数据存储版本。

关于java - 如何从 AppEngine 访问 Cloud Datastore?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30377002/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com