グーグル/ API/annotations.protoをインポートする方法:gRPC + Bazel +特使JSONプロキシ - として、私は非常に単純なgRPCサービスが定義されている
syntax = "proto3";
package helloworld;
import "annotations.proto";
// The greeting service definition.
service Greeter {
// Sends a greeting
rpc SayHello(HelloRequest) returns (HelloReply) {
option (google.api.http) = {
post: "/api/v1/hello"
body: "*"
}
}
}
// The request message containing the user's name.
message HelloRequest {
string name = 1;
}
// The response message containing the greetings
message HelloReply {
string message = 1;
}
興味深い点は、私が特使gRPCを使用しているということです<> HTTP2/Protobuf <> HTTP1/JSONの間でJSONトランスコードフィルタを「翻訳」します。詳細は、https://www.envoyproxy.io/docs/envoy/latest/api-v1/http_filters/grpc_json_transcoder_filterを参照してください。
また、JavaベースのgRPCサービスをビルドするためにBazelを使用しています。特使のトランスコーディングフィルタは、いくつかの注釈を必要とします。
option (google.api.http) = {
post: "/api/v1/hello"
body: "*"
}
私は.proto定義から対応する.javaファイルを生成するproto_library(https://github.com/cgrushko/proto_library)を使用していますが、私は
import "google/api/annotations.proto";
を追加することはできませんよ
を.protoファイルにインポートする方法については、https://github.com/googleapis/googleapis/blob/master/google/api/annotations.protoをbazelプロジェクトにインポートする方法がわかりません。
ありがとうございます。
よろしく、 JJ
( 1)これを投稿していただきありがとうございます。問題を改善するために、エンボイの言葉のような無関係なものを削除する方が良いと思います。 (2)ファイルの先頭に 'google/api/annotations.proto'(' 'annotations.proto ''ではなく)をインポートすることを意味しましたか? – user1071136