【问题标题】:Cloud EndPoint GRPC dont match proto definitionCloud EndPoint GRPC 与原型定义不匹配
【发布时间】:2018-08-22 02:52:15
【问题描述】:

我正在使用 Google Cloud EndPoints 访问我用 GoLang 编写并在 Kuberkules 中运行的 GRPC 服务器。我正在关注here 的教程。一切都在工作,但是当我尝试请求时,我收到了这个错误

rpc 错误:代码 = NotFound desc = 方法不存在。

EndPoint 没有我的 proto 文件中的保存 URL,名称中包含包。这是一个例子:

log request

在最后一个请求中,我更改了生成的 protobuf 文件中 url 的值,它通过了端点,但我的服务器无法识别它……我得到了这个错误:

rpc error: code = Unimplemented desc = unknown service client.WebRoute

protobuf generated code

它在本地工作,这可能是关于生成端点所需的描述符文件的问题。

【问题讨论】:

  • 你能发布你的原型文件吗?澄清一下,您所说的是 Endpoints 仅识别 client.WebRoute。期望它应该只是 WebRoute?

标签: go google-cloud-platform protocol-buffers google-cloud-endpoints grpc


【解决方案1】:

您无法更改生成文件中的 URL。 gRPC 规范定义的 HTTP 路径是 Service-Name "/" {method name}。 protobuf 的服务名称是 ?( {proto package name} "." ) {service name}。您可以更改您的 proto 文件并重新生成描述符和您的 Go 代码以匹配您想要的路径。

【讨论】:

    猜你喜欢
    • 2021-03-09
    • 1970-01-01
    • 2023-03-12
    • 1970-01-01
    • 2013-02-14
    • 2019-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多