【问题标题】:Import timestamp in proto file of protobuf for GRPC在 GRPC 的 protobuf 的 proto 文件中导入时间戳
【发布时间】:2017-11-12 02:49:11
【问题描述】:

我正在尝试使用 gRPC 并将交换消息格式用作 protobuf。 我想在我的消息中添加时间戳字段。但我不知道在 proto 文件中添加导入语句的正确方法。我正在使用 Golang,所以我需要输出为 .pb.go

【问题讨论】:

  • 即使您在下面的答案中添加了时间戳库,请务必导入包“C:\Program Files\protoc-3.13.0-win64\include”,因为它包含库与时间戳有关。由于路径问题而面临错误,想分享它。

标签: protocol-buffers grpc


【解决方案1】:

确保在您的 proto 文件中导入:

import "google/protobuf/timestamp.proto";

并为你的变量使用类型,例如:

google.protobuf.Timestamp time_name = 1;

【讨论】:

    【解决方案2】:

    在您的原型文件中:

    import "google/protobuf/timestamp.proto"
    

    根据documentation,这应该是所有必要的。

    【讨论】:

      【解决方案3】:

      您可以在标准 Go Protobuf 存储库中从 ptypes package: 导入时间戳。

      import (
          "github.com/golang/protobuf/ptypes/timestamp"
      )
      

      【讨论】:

        【解决方案4】:

        Grpc 没有 AFAIK 时间戳。
        我通常使用 Unix Epoch - go 函数

         Unix(sec int64, nsec int64)
        

        func (t Time) Unix() int64
        

        你炸了吗

        【讨论】:

          猜你喜欢
          • 2021-04-17
          • 2017-03-16
          • 2020-06-25
          • 1970-01-01
          • 2018-01-07
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-10-06
          相关资源
          最近更新 更多