错误:14 UNAVAILABLE:连接到 gRPC 服务时未建立连接

问题描述 投票:0回答:1

我将 gRPC 服务部署到 Cloud Run,并获得了以下形式的服务 URL:

https://customer-service-random-string-ue.a.run.app

我现在尝试使用以下代码从本地主机连接到该服务:

  let client = new customer_proto.Customer("dns:customer-service-random-string-ue.a.run.app:50051", grpc.credentials.createInsecure());

但我一直收到以下错误:

错误:14 UNAVAILABLE:未建立连接

我可以采取哪些不同的措施来完成这项工作?

谢谢你

node.js grpc google-cloud-run
1个回答
0
投票

我们不知道

customer_proto.Customer
的实现,因此无法提供明确的答案。

该方法期望端点带有前缀 dns:

不太可能
。我希望它需要 Cloud Run 服务端点,并且因为 gRPC 没有默认端口(正如我之前提到的,Cloud Run 也将服务映射到)
:443
,即

customer-service-random-string-ue.a.run.app:443

我用来测试 gRPC 服务的一个好工具是 gRPCurl。 Postman 对于 REST 来说很常见,现在支持 gRPC

如果您的服务支持反映,您可以:

grpcurl customer-service-random-string-ue.a.run.app:443 list

否则,您需要引用服务的原型文件、服务和方法(可能带有数据)来测试:

grpcurl \
-proto {your-proto} \
customer-service-random-string-ue.a.run.app:443 \
{package}.{Service}/{MethodName}

您可以确认主机已定义并响应:

nslookup customer-service-random-string-ue.a.run.app

telnet customer-service-random-string-ue.a.run.app 443
© www.soinside.com 2019 - 2024. All rights reserved.