gcloud endpoints deploy 带有时间戳类型的错误
gcloud endpoints deploy Error with timestamp type
我已经成功部署了很多 google gRPC 云端点。
但这是我第一次在我的原型中使用时间戳类型,当我尝试部署我的 gRPC API 时,出现错误:
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.'
我的命令生成api_descriptor.pb
protoc -I . backoffice*.proto \
--proto_path=. \
--include_imports \
--include_source_info \
--descriptor_set_out=api_descriptor.pb
我的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
我找不到关于这个问题的任何信息...有什么想法吗?
不幸的是,这是 timestamp.proto
文件中的一个错误。
它是 been fixed,但听起来您的 protobuf 版本还没有修复。
幸运的是,你可以在本地解决这个问题 - 只需编辑 timestamp.proto
(无论你在哪里;这取决于你使用的是哪个包)将第 121 行的 --)
分成--
在第 121 行的末尾,)
在下一行,因为它在当前文件中(上面链接)。
protobuf
版本(3.5.0 - 3.5.2,截至 2018 年 5 月 9 日)似乎存在此问题,并且尚未在任何版本中修复。我在 "<python path>\Lib\site-packages\grpc_tools\_proto\google\protobuf\timestamp.proto"
找到了有问题的文件
替换行:
// http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime--)
和
// http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime)
帮我解决了问题
我已经成功部署了很多 google gRPC 云端点。
但这是我第一次在我的原型中使用时间戳类型,当我尝试部署我的 gRPC API 时,出现错误:
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.'
我的命令生成api_descriptor.pb
protoc -I . backoffice*.proto \
--proto_path=. \
--include_imports \
--include_source_info \
--descriptor_set_out=api_descriptor.pb
我的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
我找不到关于这个问题的任何信息...有什么想法吗?
不幸的是,这是 timestamp.proto
文件中的一个错误。
它是 been fixed,但听起来您的 protobuf 版本还没有修复。
幸运的是,你可以在本地解决这个问题 - 只需编辑 timestamp.proto
(无论你在哪里;这取决于你使用的是哪个包)将第 121 行的 --)
分成--
在第 121 行的末尾,)
在下一行,因为它在当前文件中(上面链接)。
protobuf
版本(3.5.0 - 3.5.2,截至 2018 年 5 月 9 日)似乎存在此问题,并且尚未在任何版本中修复。我在 "<python path>\Lib\site-packages\grpc_tools\_proto\google\protobuf\timestamp.proto"
替换行:
// http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime--)
和
// http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime)
帮我解决了问题