如何导入 gRPC 空和 Google api 注释原型
How to import gRPC empty and Google api annotations proto
我正在尝试使用 Google Cloud Endpoints 来制作一个基于 api 的 gRPC,它可以 transcode incoming REST requests. I am following their example code 但我没有任何关于如何正确导入和编译的文档 annotation.proto 或 empty.proto.
谢谢!
我不明白这是 grpc-gateway 的一部分。通过 following the docs 我 运行
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
编译成功
默认情况下不包含 empty.proto 和 annotation.proto,因此您需要带一份副本。具体来说,您可以在项目的目录中复制它们,或在现有项目中引用它们(例如 Protobuf git 存储库)。
不引用grpc-ecosystem/grpc-gateway使用的副本可能是个好主意,因为他们将来可能想移动它。
这可能不是个好主意。
您可以将 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
重发:https://cloud.google.com/solutions/exposing-grpc-services-using-cloud-endpoints-pt1
在 $GOPATH/pkg/mod
.
下安装时,使用 go list -m -f '{{.Dir}}'
有助于更好地解决 go mod
依赖项
grpc_ecosystem_path=`go list -m -f '{{.Dir}}' github.com/grpc-ecosystem/grpc-gateway`
protoc \
--proto_path="$grpc_ecosystem_path/third_party/googleapis" \
# ...
我正在尝试使用 Google Cloud Endpoints 来制作一个基于 api 的 gRPC,它可以 transcode incoming REST requests. I am following their example code 但我没有任何关于如何正确导入和编译的文档 annotation.proto 或 empty.proto.
谢谢!
我不明白这是 grpc-gateway 的一部分。通过 following the docs 我 运行
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
编译成功
默认情况下不包含 empty.proto 和 annotation.proto,因此您需要带一份副本。具体来说,您可以在项目的目录中复制它们,或在现有项目中引用它们(例如 Protobuf git 存储库)。
不引用grpc-ecosystem/grpc-gateway使用的副本可能是个好主意,因为他们将来可能想移动它。
这可能不是个好主意。
您可以将 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
重发:https://cloud.google.com/solutions/exposing-grpc-services-using-cloud-endpoints-pt1
在 $GOPATH/pkg/mod
.
go list -m -f '{{.Dir}}'
有助于更好地解决 go mod
依赖项
grpc_ecosystem_path=`go list -m -f '{{.Dir}}' github.com/grpc-ecosystem/grpc-gateway`
protoc \
--proto_path="$grpc_ecosystem_path/third_party/googleapis" \
# ...