尝试运行Google CloudPlatform提供的示例书架应用时,我收到PERMISSION_DENIED错误。
在https://cloud.google.com/java/getting-started/using-forms上,它说要运行以下命令:
mvn -Plocal clean jetty:run-explosion -DprojectID = [YOUR-PROJECT-ID]
我得到的错误是:
[WARNING] Failed startup of context o.e.j.m.p.JettyWebAppContext@25e203e6{/,file:///Users/markfriesen/Documents/workspace/getting-started-java/bookshelf/2-structured-data/target/bookshelf-2-1.0-SNAPSHOT/,UNAVAILABLE}{/Users/markfriesen/Documents/workspace/getting-started-java/bookshelf/2-structured-data/target/bookshelf-2-1.0-SNAPSHOT}
com.google.cloud.datastore.DatastoreException: Missing or insufficient permissions.
at com.google.cloud.datastore.spi.v1.HttpDatastoreRpc.translate(HttpDatastoreRpc.java:128)
...
Caused by: com.google.datastore.v1.client.DatastoreException: Missing or insufficient permissions., code=PERMISSION_DENIED
at com.google.datastore.v1.client.RemoteRpc.makeException(RemoteRpc.java:126)
at com.google.datastore.v1.client.RemoteRpc.makeException(RemoteRpc.java:169)
I am able to launch the datastore emulator using the command:
gcloud beta emulators datastore start --project=[YOUR-PROJECT-ID]
我正在跑步: macOS Sierra Java版本:1.8.0_112
有人有想法吗?
由于
答案 0 :(得分:0)
从错误消息中可以看出,代码实际上是连接到真正的GCD而不是仿真器,并且您没有为项目启用数据存储区API。我建议登录GCD并启用Datastore API并重试。
答案 1 :(得分:0)
我在 docker 上下文中遇到了这个问题:
当我从另一个连接到数据存储网络的容器运行命令/脚本时,它工作正常。我想这是本地主机异常或类似的东西。