douzhi2988 2016-10-13 15:50
浏览 2279
已采纳

如何在gRPC中使用预定义的protobuf类型(即“ google / protobuf / timestamp.proto”)

I'm trying to use google/protobuf/timestamp.proto in with gRPC plugin and Go. This is how I run protoc:

protoc -I  ./   ./*.proto --go_out=plugins=grpc:.

And this is my .proto:

#domain.proto
syntax = "proto3";
option java_multiple_files = true;
option java_package = "com.viant.xyz";
option java_outer_classname = "domain";

import "google/protobuf/timestamp.proto";

message Foo {
    Timestamp modifiedTime = 1;
    ...
}

I'm seeing the following errors:

domain.proto: Import "google/protobuf/timestamp.proto" was not found or had errors.
domain.proto:44:5: "Timestamp" is not defined.

Am I missing something, or this is not yet supported?

  • 写回答

6条回答 默认 最新

  • dqn8235 2016-10-13 17:39
    关注

    It is not fully supported yet, but you can make it work by changing

    message Foo {
        google.protobuf.Timestamp modifiedTime = 1;
        ...
    }
    

    and by fixing generated file import

    import google_protobuf "google/protobuf/timestamp.pb"
    

    to

    import google_protobuf "github.com/golang/protobuf/ptypes/timestamp"
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?