特使配置。 @type 键的可能值
Envoy configuration. Possible values of @type keys
我正在尝试了解 @type 键的使用方式以及从何处获取其值。
例如,遵循文档中 front-proxy 的简单示例。
在配置中设置侦听器,然后设置过滤器链。在 typed_config 中,我不明白需要“@type”键来指定我们正在使用的过滤器类型。
我不完全明白这些值是从哪里来的
在前面提到的情况下,配置使用:
"@type": type.googleapis.com/envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager
但是去 API link 文档中 HttpConnectionManager 似乎类型不同 [extensions.filters.network.http_connection_manager.v3.HttpConnectionManager proto]
对我来说,这似乎是 v2 -> v3 的更改,并且文档示例已完全更新。但是有没有地方解释了这些类型的来源以及哪些值有效?
嗯,这个答案不是很好 - 但我认为这主要是因为没有一个很好的单一来源来获取这些信息。
每个 typed_config
都是 type any 的一个 protobuf 消息,它只是一个任意的序列化消息。 Envoy 使用该类型将其与过滤器的已知 protobuf 定义相匹配。在某些情况下,可以在文档中找到每种类型的具体类型:
- adaptive concurrency filter
- aws lambda filter
- 查看其他过滤器文档页面,看看它们是否提供了正确的示例配置
type
。
对于此处未记录的那些,您可以将自己的方式解析到代码中并找到类型,例如again for the aws filter
Envoy 的一些其他需要引用这些类型的开放项目经常持有 well known 类型的定义。您可以将其用作参考,请注意它们可能不是 100% 最新的。
抱歉,没有更统一的位置,希望对您有所帮助。
我正在尝试了解 @type 键的使用方式以及从何处获取其值。
例如,遵循文档中 front-proxy 的简单示例。
在配置中设置侦听器,然后设置过滤器链。在 typed_config 中,我不明白需要“@type”键来指定我们正在使用的过滤器类型。
我不完全明白这些值是从哪里来的
在前面提到的情况下,配置使用:
"@type": type.googleapis.com/envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager
但是去 API link 文档中 HttpConnectionManager 似乎类型不同 [extensions.filters.network.http_connection_manager.v3.HttpConnectionManager proto]
对我来说,这似乎是 v2 -> v3 的更改,并且文档示例已完全更新。但是有没有地方解释了这些类型的来源以及哪些值有效?
嗯,这个答案不是很好 - 但我认为这主要是因为没有一个很好的单一来源来获取这些信息。
每个 typed_config
都是 type any 的一个 protobuf 消息,它只是一个任意的序列化消息。 Envoy 使用该类型将其与过滤器的已知 protobuf 定义相匹配。在某些情况下,可以在文档中找到每种类型的具体类型:
- adaptive concurrency filter
- aws lambda filter
- 查看其他过滤器文档页面,看看它们是否提供了正确的示例配置
type
。
对于此处未记录的那些,您可以将自己的方式解析到代码中并找到类型,例如again for the aws filter
Envoy 的一些其他需要引用这些类型的开放项目经常持有 well known 类型的定义。您可以将其用作参考,请注意它们可能不是 100% 最新的。
抱歉,没有更统一的位置,希望对您有所帮助。