web-dev-qa-db-ja.com

gRPC空とGoogle APIアノテーションプロトをインポートする方法

Google Cloud Endpointsを使用して、gRPCベースのAPIを作成しようとしています トランスコード受信RESTリクエスト 。私は これらのサンプルコード に従っています)しかし、annotation.protoまたはempty.protoを適切にインポートしてコンパイルする方法に関するドキュメントはありません。

ありがとうございました!

13

これがgrpc-gatewayの一部であることを理解できませんでした。 ドキュメントに従って 私は走った

protoc -I/usr/local/include -I. -I$GOPATH/src -I$GOPATH/src/github.com/grpc-ecosystem/grpc-gateway/third_party/googleapis --go_out=plugins=grpc:. *.proto

正常にコンパイルされました。

7

それは良い考えではないかもしれません。あなたはコピーすることができますgoogle/api/annotations.protoおよびgoogle/api/http.protoをローカルプロジェクトにインポートし、実行時にインポートしますpython -m

mkdir -p google/api    
curl https://raw.githubusercontent.com/googleapis/googleapis/master/google/api/annotations.proto > google/api/annotations.proto     
curl https://raw.githubusercontent.com/googleapis/googleapis/master/google/api/http.proto > google/api/http.proto

python -m grpc_tools.protoc google/api/http.proto google/api/annotations.proto -I. --python_out=. --grpc_python_out=. your_proto.proto

refurl: https://cloud.google.com/solutions/exposing-grpc-services-using-cloud-endpoints-pt1

2
gaozhidf

Empty.protoとannotation.protoはデフォルトでは含まれていないため、コピーを取り込む必要があります。具体的には、プロジェクトのディレクトリにそれらのコピーを作成するか、既存のプロジェクト(Protobuf gitリポジトリなど)でそれらを参照できます。

[〜#〜] not [〜#〜] grpc-ecosystem/grpc-gatewayが使用するコピーを参照することをお勧めします。将来的に移動する可能性があるためです。

1