J'essaie d'utiliser Google Cloud Endpoints pour créer une API basée sur gRPC qui peut transcoder les entrées REST requêtes . Je suis leur exemple de code mais je ne peux aucune documentation sur la façon d'importer et de compiler correctement avec l'annotation.proto ou le empty.proto.
Je vous remercie!
Je ne comprenais pas que cela faisait partie de grpc-gateway. Par en suivant les documents j'ai couru
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
et compilé avec succès.
ce n'est peut-être pas une bonne idée. vous pouvez copier google/api/annotations.proto
et google/api/http.proto
dans votre projet local et importez-les lors de l'exécution 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
Le empty.proto et l'annotation.proto ne sont pas inclus par défaut, vous devrez donc en apporter une copie. Plus précisément, vous pouvez en faire une copie dans un répertoire de votre projet ou les référencer dans un projet existant (comme le référentiel Protobuf git, par exemple).
C'est probablement une bonne idée de ET NON de référencer la copie utilisée par grpc -osystem/grpc-gateway, car ils voudront peut-être la déplacer à l'avenir.