一个扩展程序链封装容器,其中包含要执行的匹配条件和扩展程序。
JSON 表示法 |
---|
{ "name": string, "matchCondition": { object ( |
字段 | |
---|---|
name |
必需。此扩展程序链的名称。该名称会记录在 HTTP 请求日志中。名称必须符合 RFC-1034 的要求,只能使用小写字母、数字和连字符,且长度不得超过 63 个字符。此外,第一个字符必须是字母,最后一个字符必须是字母或数字。 |
matchCondition |
必需。针对请求调用此链的条件。 |
extensions[] |
必需。一组要针对匹配请求执行的扩展程序。必须至少有一个扩展程序。您最多可以为 |
MatchCondition
针对请求调用此链的条件。
JSON 表示法 |
---|
{ "celExpression": string } |
字段 | |
---|---|
celExpression |
必需。通用表达式语言 (CEL) 表达式,用于匹配执行扩展链所针对的请求。 如需了解详情,请参阅 CEL 匹配器语言参考文档。 |
扩展程序
链中用于针对匹配请求执行的单个扩展程序。
JSON 表示法 |
---|
{
"name": string,
"authority": string,
"service": string,
"supportedEvents": [
enum ( |
字段 | |
---|---|
name |
必需。此扩展程序的名称。该名称会作为 HTTP 请求日志的一部分进行记录。该名称必须符合 RFC-1034 标准,只能包含小写字母、数字和连字符,且长度上限为 63 个字符。此外,第一个字符必须是字母,最后一个字符必须是字母或数字。 |
authority |
可选。从 Envoy 发送到扩展程序服务的 gRPC 请求中的 |
service |
必需。对运行扩展程序的服务的引用。 目前,此处仅支持宣传信息附加信息。 要配置附加宣传信息, |
supportedEvents[] |
可选。在请求或响应处理期间会调用此扩展程序的一组事件。 |
timeout |
可选。指定数据流中每一条消息的超时时间。超时时间必须介于 10-1000 毫秒之间。附加宣传信息必须包含此属性。 该时长以秒为单位,最多包含九个小数位,以“ |
failOpen |
可选。确定在调用扩展程序失败或超时时代理的行为方式。 如果设置为
|
forwardHeaders[] |
可选。要从客户端或后端转发到扩展程序的 HTTP 标头的列表。如果省略,则发送所有标头。每个元素都是一个字符串,表示标头名称。 |
事件类型
调用扩展程序的请求或响应的部分。
枚举 | |
---|---|
EVENT_TYPE_UNSPECIFIED |
未指定值。请勿使用。 |
REQUEST_HEADERS |
如果扩展程序包含在 supportedEvents 中,则当 HTTP 请求标头到达时,系统会调用该扩展程序。 |
REQUEST_BODY |
如果包含在 supportedEvents 中,系统会在收到 HTTP 请求正文时调用该扩展程序。 |
RESPONSE_HEADERS |
如果包含在 supportedEvents 中,系统会在收到 HTTP 响应标头时调用该扩展程序。 |
RESPONSE_BODY |
如果在 supportedEvents 中添加了此扩展程序,系统会在收到 HTTP 响应正文时调用该扩展程序。 |
REQUEST_TRAILERS |
如果包含在 supportedEvents 中,系统会在 HTTP 请求尾部到达时调用该扩展程序。 |
RESPONSE_TRAILERS |
如果扩展包含在 supportedEvents 中,系统会在 HTTP 响应尾部到达时调用该扩展。 |