非常感谢您的帮助。
digestor.proto
import "google/api/annotations.proto";
service Digestor{
rpc GetDigestor(DigestMessage) returns (DigestedMessage) {}
}
service DigestorRest {
rpc GetDigestor(DigestMessage) returns (DigestedMessage) {
option (google.api.http) = {
get: "/v1/digest"
body: "*"
};
}
}
在生成pb2文件之后。
grpc-请求可以正常运行
curr_client = DigestorClient()
print(curr_client.get_digest("Test Message"))
我的休息/得到请求:
requests.get(url='http://localhost:46001/v1/digest')
应该返回正确的响应,但是我得到
requests.exceptions.ConnectionError: ('Connection aborted.', BadStatusLine('\x00\x00\x18\x04\x00\x00\x00\x00\x00\x00\x04\x00@\x00\x00\x00\x05\x00@\x00\x00\x00\x06\x00\x00 \x00þ\x03\x00\x00\x00\x01\x00\x00\x04\x08\x00\x00\x00\x00\x00\x00?\x00\x01\x00\x00\x08\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'))
答案 0 :(得分:0)
我想您正在使用GCP Transcoding功能。如果您尚未尝试过本教程,请尝试完成示例步骤。
gRPC协议基于HTTP2而不是HTTP1。 requests
库是HTTP1。 requests
报告的异常看起来像协议不匹配。因此,您的GCP Endpoints设置中可能存在问题。