Я использую gRPC
в конечных точках Google CLoud. Я использую быстрый пример для Python для конечной точки
Я добавляю одну функцию для SayHelloRepeated
, но не знаю, как перекодировать повторяющееся поле.
helloworld.proto
service Greeter {
...
rpc SayHelloRepeated (RepeatedHello) returns (HelloReply) {}
...
}
message RepeatedHello {
repeated HelloRequest hello_request = 1;
}
message HelloRequest {
string name = 1;
}
api_config_http.yaml
http:
rules:
...
- selector: helloworld.Greeter.SayHelloRepeated
get: /v1/rsayhello/{hello_request}
...
Когда я пытаюсь развернуть api_config_http.yaml
, появляется ошибка Повторное поле не разрешено
ОШИБКА: (gcloud.endpoints.services.deploy) INVALID_ARGUMENT: невозможно преобразовать в конфигурацию службы.
kind: ERROR message: "http: повторное поле не разрешено: достигнуто через \ 'hello_request \' в сообщении \ 'helloworld.RepeatedHello \'."
Обновить
Что делать, если HelloRequest
имеет несколько полей, а не только одно поле name
, что делать.
message HelloRequest {
string name = 1;
string message = 2;
}