Protocol buffers gcloud终结点部署错误未解析类型

Protocol buffers gcloud终结点部署错误未解析类型,protocol-buffers,google-cloud-endpoints,grpc,google-cloud-endpoints-v2,Protocol Buffers,Google Cloud Endpoints,Grpc,Google Cloud Endpoints V2,我正在尝试部署一个需要的服务,但收到一个错误 gcloud endpoints services deploy api_descriptor.pb api_config.yaml --validate-only ERROR: (gcloud.endpoints.services.deploy) INVALID_ARGUMENT: Cannot convert to service config. 'ERROR: unknown location: Unresolved type '.goog

我正在尝试部署一个需要的服务,但收到一个错误

gcloud endpoints services deploy api_descriptor.pb api_config.yaml --validate-only

ERROR: (gcloud.endpoints.services.deploy) INVALID_ARGUMENT: Cannot 
convert to service config.
'ERROR: unknown location: Unresolved type '.google.protobuf.Timestamp''
生成api_descriptor.pb的我的命令:

protoc \
--plugin=protoc-gen-go=${GOBIN}/protoc-gen-go \
-I . proto/service.proto \
--descriptor_set_out=api_descriptor.pb \
--go_out=plugins=grpc:. \
需要google.protobuf.Timestamp的proto文件中的相关位:

syntax = "proto3";

package proto;

import "vendor/github.com/golang/protobuf/ptypes/timestamp/timestamp.proto";

message CandleStick {
    string ID = 1;
    double Open = 2;
    double Close = 3;
    double High = 4;
    double Low = 5;

    google.protobuf.Timestamp TimeStamp = 6;
}

尝试了几个小时来解决此问题,但未成功。提前谢谢

在protoc命令行调用中,我认为需要在生成的描述符中包含所有导入。您可以使用
--包含导入

protoc \
--plugin=protoc-gen-go=${GOBIN}/protoc-gen-go \
--include_imports \
-I . proto/service.proto \
--descriptor_set_out=api_descriptor.pb \
--go_out=plugins=grpc:. \

proto编译器的最新版本包括timestamp.proto,因此您无需再提供它。您可以使用:import“google/protobuf/timestamp.proto”谢谢!这起作用了。我想我必须包含一个带有include_imports标记的路径。