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。 重要 同時配置了 |