Google Cloud Endpointsを使用して、gRPCベースのAPIを作成しようとしています トランスコード受信RESTリクエスト 。私は これらのサンプルコード に従っています)しかし、annotation.protoまたはempty.protoを適切にインポートしてコンパイルする方法に関するドキュメントはありません。
ありがとうございました!
これが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
正常にコンパイルされました。
それは良い考えではないかもしれません。あなたはコピーすることができます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
Empty.protoとannotation.protoはデフォルトでは含まれていないため、コピーを取り込む必要があります。具体的には、プロジェクトのディレクトリにそれらのコピーを作成するか、既存のプロジェクト(Protobuf gitリポジトリなど)でそれらを参照できます。
[〜#〜] not [〜#〜] grpc-ecosystem/grpc-gatewayが使用するコピーを参照することをお勧めします。将来的に移動する可能性があるためです。