ASMGrpcJsonTranscoder用于进行JSON/HTTP-gRPC协议转码。本文介绍ASMGrpcJsonTranscoder的字段说明。
字段说明
字段 | 类型 | 是否必选 | 说明 |
workloadSelector | map<string, string> | 是 | 通过一个或多个标签,指定配置生效的一组特定的Pod。标签搜索的范围限制在资源所在的配置命名空间。更多信息,请参见WorkloadSelector。 |
isGateway | bool | 否 | 配置为true,表示配置作用于网关。默认为false。 |
portNumber | int | 是 | 对应的服务端口。若关联网关,对应该网关定义的端口值,即配置需要在网关上进行协议转码的服务端口(例如8080)。 |
services | string[] | 是 | 指定配置在Proto文件中声明的服务。格式为
|
protoDescriptorBin | string | 是 | 生成的Proto Descriptor文件内容进行Base64编码后的结果。注意需要使用包含Base64编码内容。 |
transcodeFirst | bool | 否 | 默认为false。如果指定为true,HTTP请求先经过转码,再进行其它处理。这可能影响一些对该请求依赖的流量处理能力。例如,对于自定义外部授权服务来说,如果先对请求进行转码,则外部授权服务会收到gRPC请求,否则会收到HTTP请求。 |
convertGrpcStatus | bool | 否 | 默认为false。是否将gRPC状态头转换为JSON。如果指定为true,当上游服务产生gRPC错误且没有HTTP正文响应时,将会从gRPC状态详细信息二进制头部获取 例如,如果上游服务器回复以下头部:
gRPC状态详细信息二进制头部包含一个base64编码的protobuf消息
|
ignoredQueryParameters | []string | 否 | 转码方法映射时要忽略的查询参数列表。默认情况下,如果存在任何未知或无效的查询参数,转码过滤器将不会对请求进行转码。在ignoredQueryParameters中声明忽略的HTTP请求查询参数后,可以在这些参数出现在请求中时忽略这些参数并仍然进行转码。 |
ignoreUnknownQueryParameters | bool | 否 | 是否忽略无法映射到相应protobuf字段的HTTP请求查询参数。如果您无法预知查询参数,则使用此选项。否则,使用ignoredQueryParameters。 重要 同时配置了 |