Search code examples
protocol-buffersgrpcgoogle-cloud-endpoints-v2

gcloud endpoints deploy Error with timestamp type


I already deployed a lot of google gRPC cloud endpoints with success.

But for the first time, i'm using a timestamp type in my proto, and when i'm trying to deploy my gRPC API, i have an error :

gcloud endpoints deploy services api_descriptor.pb api_config.yaml

ERROR: (gcloud.endpoints.services.deploy) INVALID_ARGUMENT: Cannot 
convert to service config.
'ERROR: google/protobuf/timestamp.proto:121:1: (at document line 76) 
Unexpected end tag '--)' with missing begin tag.'

my command to generate api_descriptor.pb

protoc -I . backoffice*.proto \
--proto_path=. \
--include_imports \
--include_source_info \
--descriptor_set_out=api_descriptor.pb 

my api_config.yaml

type: google.api.Service
config_version: 3

name: backoffice.endpoints.MY_PROJECT.cloud.goog

title: Backoffice gRPC API
apis:
- name: package.BackofficeApi

usage:
  rules:
  - selector: "*"
    allow_unregistered_calls: true

I cannot find any information about this issue ... any ideas ?


Solution

  • This was a mistake in the timestamp.proto file, unfortunately.

    It's been fixed, but it sounds like the protobuf release you've got doesn't have the fix in yet.

    Fortunately, you can fix this locally - just edit timestamp.proto (wherever you've got it; that depends on which package you're using) to break the --) on line 121 into -- at the end of line 121 and ) on the next line, as it is in the current file (linked above).