To be clear, what I meant by: "a *proto3* package cannot reference another
*proto3* package"
To complete that statement, "within the same repository".
So, *I am not sure if I can do a local import of a proto3 package*.
There are multiple Protobuf packages within this repository, and each
package is associated with a specific golang microservice.
protobuf
├── foo
│ ├── task_jobs.pb.go
│ ├── task_jobs.proto
│ ├──service.pb.go
│ └──service.proto
└── bar
├── service.pb.go
└── service.proto
services
├── foo
│ └──microservice Go code
└── bar
└── microservice Go code
On Tuesday, December 19, 2017 at 10:01:58 AM UTC-8, [email protected] wrote:
>
> Hi, I am new in using Protobuf for golang.
>
> https://github.com/golang/protobuf
>
>
> Using golang Protobuf, within *package **foo*, I created *message
> TaskJobEntity* which is a combination of other messages:
>
>
> message TaskJobEntity {
> JobEntity job = 1;
> TaskEntity task = 2;
> map<int64, JobEntity> dependent_jobs = 3;
>
> }
>
>
> Which is used within *package foo* response as part a *map*:
>
>
> message ListTaskJobsResponse {
> *map**<string, TaskJobEntity>** task_jobs* = 1;
> ServiceStatus status = 2;
> }
>
> Now within another Protobuf *package bar*, I would like to define
> response that includes *message TaskJobEntity* defined in *package **foo*,
> however, as far as I can determine, a *proto3* package cannot reference
> another proto3 package (is this determination correct?).
>
>
> My goal is to add *map<string, foo.TaskJobEntity> task_jobs* to
> *package bar* defined response.
>
>
> Here is how I approaching to get to this goal. I have found that map of
> *interface{}* is not supported in Protobuf. So, is using
> *google.protobuf.Any* the next best solution?
>
>
> message ImportStatsResponse {
> string task_id = 1;
> // map<string, mvregistrypb.TaskJobEntity> task_jobs = 2;
> // map<string, interface{}> task_jobs = 2;
> map<string, google.protobuf.Any> task_jobs = 2;
> ServiceStatus status = 3;
> }
>
>
> Recommendations?
>
>
>
--
You received this message because you are subscribed to the Google Groups
"Protocol Buffers" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/protobuf.
For more options, visit https://groups.google.com/d/optout.