【问题标题】:How to pass metadata using grpc_cli?如何使用 grpc_cli 传递元数据?
【发布时间】:2019-12-05 04:34:26
【问题描述】:

如何使用grpc_cli 传递元数据?我的期望是我的服务器拦截器将能够使用 X-FOO 标头。

$ grpc_cli call  --json_input --json_output localhost:7001 \
   hello.HelloWorldService.SayHello "{'name': 'foo'}" \
   -metadata "X-FOO:BAR;";
connecting to localhost:7001
Sending client initial metadata:
X-FOO : BAR;
E0726 13:26:20.231276000 4583892416 call.cc:900]                       validate_metadata: {"created":"@1564172780.231266000","description":"Illegal header key","file":"src/core/lib/surface/validate_metadata.cc","file_line":43,"offset":0,"raw_bytes":"58 2d 46 4f 4f 'X-FOO'"}
E0726 13:26:20.231808000 4583892416 call_op_set.h:942]                 assertion failed: GRPC_CALL_OK == g_core_codegen_interface->grpc_call_start_batch( call_.call(), ops, nops, core_cq_tag(), nullptr)

-helpfull 文档说:

-metadata (Metadata to send to server, in the form of key1:val1:key2:val2)
  type: string default: ""

环境信息:

$ brew info grpc;
grpc: stable 1.21.4 (bottled), HEAD
Next generation open source RPC library and framework
https://grpc.io/
/usr/local/Cellar/grpc/1.21.4 (298 files, 24.5MB) *
  Poured from bottle on 2019-06-27 at 08:29:38
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/grpc.rb

【问题讨论】:

    标签: shell command-line command-line-interface command-line-arguments grpc


    【解决方案1】:

    原来元数据键只需要小写即可;例如x-foo.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-10-24
      • 2021-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-30
      • 2015-02-23
      相关资源
      最近更新 更多