如何运行grpc-gateway for python

taor4pac  于 2023-08-08  发布在  Python
关注(0)|答案(3)|浏览(124)

我是grpc新手,想创建一个REST端点来检查grpc服务器的健康状况。为此,我决定使用grpc网关。
但是,grpc-REST网关文档中的example用于将grpc代理到json,仅针对Golang给出。但我有一个Python的后端,并希望使用Google Cloud Endpoints来制作一个基于gRPC的API,可以transcode incoming REST requests
我确实在这个stackoverflow answer中找到了一种手动生成注解的方法。但我想知道最好的方法是什么。这是我想生成到类中的sample .proto文件。

  1. syntax = "proto3";
  2. package example;
  3. +
  4. +import "google/api/annotations.proto";
  5. +
  6. message StringMessage {
  7. string value = 1;
  8. }
  9. service YourService {
  10. - rpc Echo(StringMessage) returns (StringMessage) {}
  11. + rpc Echo(StringMessage) returns (StringMessage) {
  12. + option (google.api.http) = {
  13. + post: "/v1/example/echo"
  14. + body: "*"
  15. + };
  16. + }
  17. }

字符串
如何生成.proto文件并使用python后端创建grpc-gateway?

z4iuyo4d

z4iuyo4d1#

grpc-gateway是一个生成反向代理的项目,该代理将传入的JSON请求转换为gRPC。为此,它生成Go代码,然后将其编译成反向代理二进制文件。然后,您部署反向代理二进制文件 * 旁边 * 您的预期后端,在您的情况下,它将用Python编写。反向代理所使用的语言应该与后端所使用的语言无关。

eoigrqb6

eoigrqb62#

对于原型生成,请查看我们的gRPC Python快速入门指南。grpc-gateway项目也有一个很好的教程,介绍如何设置gateway进程。

piv4azn7

piv4azn73#

下面是我的示例库,介绍了如何运行Python gRPC Server和grpc-gateway代理,将API代码转换为REST。
服务器用Python实现,网关是一个简单的Go代理(只有一个类)。
在这里查看:https://github.com/angelkjos/grpc-gateway-python-example

相关问题