0

我正在按照教程使用谷歌云公里加密数据,但是当我尝试加密时给我 404 错误。我在代码中搜索并注意到它具有 DEFAULT_ROOT_URL = https://cloudkms.googleapis.com/。但是 URL 的根没有出现在 URL 中,然后当然会给出错误 404。有人可以告诉我为什么 URL 没有正确安装。我查看了属性,没有 Root_URL 的参考。

`

/v1beta1/projects/condoease-3f3ea/locations/global/keyRings/test/cryptoKeys/quickstart:encrypt在此服务器上找不到请求的 URL 。我们知道的就这些。

at com.google.api.client.googleapis.json.GoogleJsonResponseException.from(GoogleJsonResponseException.java:146)
at com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(AbstractGoogleJsonClientRequest.java:113)
at com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(AbstractGoogleJsonClientRequest.java:40)
at com.google.api.client.googleapis.services.AbstractGoogleClientRequest$1.interceptResponse(AbstractGoogleClientRequest.java:321)
at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:1056)
at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:419)
at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:352)
at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.execute(AbstractGoogleClientRequest.java:469)
at com.example.getstarted.util.CloudKeyManagementServiceHelper.wrapDataEncryptionKey(CloudKeyManagementServiceHelper.java:129)
at com.example.getstarted.util.CloudStorageHelper.getImageUrl(CloudStorageHelper.java:121)
at com.example.getstarted.basicactions.CreateBookServlet.doPost(CreateBookServlet.java:56)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:845)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1689)
at com.example.getstarted.util.DatastoreSessionFilter.doFilter(DatastoreSessionFilter.java:111)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1668)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:581)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1160)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:511)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1092)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:213)
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:119)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
at org.eclipse.jetty.server.Server.handle(Server.java:518)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:308)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:244)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:273)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceAndRun(ExecuteProduceConsume.java:246)
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:156)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:654)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:572)
at java.lang.Thread.run(Thread.java:745)

`

4

2 回答 2

1

https://github.com/GoogleCloudPlatform/java-docs-samples/tree/master/kms有一个很好的示例可以帮助您入门。我不认为 Getting-started-java 有 KMS 示例(我知道)。

您使用的是什么版本的库?您的 URL 使用的是 /v1beta1/ 这让我认为您使用的是旧版本。Cloud KMS 是 GA,应该是 /v1/。

更新

完全披露我是一名工程师@Google on Cloud KMS。

https://codelabs.developers.google.com/codelabs/cloud-bookshelf-java-cloud-kms看起来有下载旧版 Java 客户端库的说明,该库正在构建到 v1beta1 的损坏 URL。我们已在内部提交了一个问题,以跟踪尽快解决此问题,感谢您发布您的问题!

同时,我鼓励您使用上面的 github链接来帮助您开始使用 KMS。感谢您使用产品!

于 2018-03-20T20:59:19.813 回答
0

v1beta1不再支持API 版本;你能告诉我们你在哪里找到它的文件吗?我想把它修好。

如果您在 URL 的其他部分出错,例如缺少固定组件,如/projects//locations//keyRings/或,您也会收到此无信息的错误消息/cryptoKeys/。我们会考虑改进它。

于 2018-03-20T21:18:17.807 回答