我将 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:未建立连接
我可以采取哪些不同的措施来完成这项工作?
谢谢你
我们不知道
customer_proto.Customer
的实现,因此无法提供明确的答案。
该方法期望端点带有前缀 dns:
是
不太可能
: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