一个扩展程序链封装容器,其中包含要执行的匹配条件和扩展程序。
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 响应后续部分到达时调用该扩展程序。 |