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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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