GRPC Python не может изменить конечные метаданные статуса RPC Python при прерывании запроса (StatusRuntimeException)JAVA

Программисты JAVA общаются здесь
Anonymous
GRPC Python не может изменить конечные метаданные статуса RPC Python при прерывании запроса (StatusRuntimeException)

Сообщение Anonymous »

Несколько часов пытался передать конечные метаданные внутри StatusRuntimeException из службы Python. Это похоже на текущий пример кода, который, очевидно, не работает, поскольку Trailing_metadata привязана не к статусу, а к контексту.

Код: Выделить всё

status_code = 13
message = "INTERNAL: ErrorCode: code"
rich_status = status_pb2.Status(code=status_code, message=message)
context.set_trailing_metadata(
(
("custom-key", "custom-error-value")
)
)

status = rpc_status.to_status(rich_status)
context.abort_with_status(status)
Чтобы дать больше контекста; клиент написан на языке Java, который протестирован со следующим кодом сервера Java

Код: Выделить всё

Metadata.Key CUSTOM_KEY = Metadata.Key.of("custom-key", Metadata.ASCII_STRING_MARSHALLER);
Metadata metadata = new Metadata();
metadata.put(CUSTOM_KEY, "custom-error-value");

StatusRuntimeException exception = Status.INTERNAL
.withDescription("INTERNAL: ErrorCode: code")
.asRuntimeException(metadata);

responseObserver.onError(exception);
Итак, как бы вы написали приведенный выше код на Python, если я не смог найти способ дополнить статус этими конечными метаданными?
grpcio-status==1.60.1


Подробнее здесь: https://stackoverflow.com/questions/787 ... aborting-r

Вернуться в «JAVA»