web-dev-qa-db-fra.com

Comment importer des prototypes d'annotations gRPC vides et Google api

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!

13

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.

7
Arjun Yelamanchili

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

2
gaozhidf

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.

1
Carl Mastrangelo