У меня есть файл Protobuf Routing.proto, используемый в сервисе gRPC. У меня также есть файл Envoy simple.yaml.
Я пытаюсь gRPC сопоставить маршрут по методу service_B_hello (1), где 1 - это значение camera_id, заключенное в CopyImageRequest.
Как я могу сделать это сопоставление маршрута в Посланнике с параметром метода camera_id в запросе?
Routing.proto:
syntax = "proto3";
package routing;
message CopyImageRequest {
int32 camera_id = 1;
}
message CopyImageResponse {
string result = 1;
}
service RoutingService {
rpc service_A_hello(CopyImageRequest) returns (CopyImageResponse) {};
rpc service_B_hello(CopyImageRequest) returns (CopyImageResponse) {};
rpc service_C_hello(CopyImageRequest) returns (CopyImageResponse) {};
}
simple.yaml Файл посланника:
routes:
- match:
prefix:"/routing.RoutingService/service_B_hello"
headers:
- name: "method"
exact_match: "service_B_hello"
- name: "camera_id"
regex_match: ^[0-3]$
- name: content-type
exact_match: application/grpc
grpc: {}
route:
auto_host_rewrite: true
cluster: grpc_stateless_service
ТИА