元数据 (proto)
type.metadata.v3.MetadataKey
[type.metadata.v3.MetadataKey proto]
MetadataKey 使用 key
和 path
提供一个通用接口,用于从 Metadata 中检索值。
例如,对于以下元数据
filter_metadata:
envoy.xxx:
prop:
foo: bar
xyz:
hello: envoy
以下 MetadataKey 将从元数据中检索字符串值“bar”。
key: envoy.xxx
path:
- key: prop
- key: foo
{
"key": ...,
"path": []
}
- key
(string, 必需) 要从元数据中检索 Struct 的元数据的键名。通常,它代表一个内置子系统或自定义扩展。
- path
(重复 type.metadata.v3.MetadataKey.PathSegment, 必需) 从 Struct 中检索值的路径。它可以是前缀或完整路径,例如
[prop, xyz]
用于结构,或[prop, foo]
用于示例中的字符串,这取决于特定情况。注意:由于只支持键类型段,因此路径不能指定列表,除非列表是最后一个段。
type.metadata.v3.MetadataKey.PathSegment
[type.metadata.v3.MetadataKey.PathSegment proto]
指定路径中从元数据检索值的段。目前只支持指定键,即字段名,作为路径的一个段。
{
"key": ...
}
- key
(string, 必需) 如果指定,请使用键从 Struct 中检索值。
type.metadata.v3.MetadataKind
[type.metadata.v3.MetadataKind proto]
描述元数据的类型。
{
"request": {...},
"route": {...},
"cluster": {...},
"host": {...}
}
- request
(type.metadata.v3.MetadataKind.Request) 请求类型的元数据。
- route
(type.metadata.v3.MetadataKind.Route) 路由类型的元数据。
- cluster
(type.metadata.v3.MetadataKind.Cluster) 集群类型的元数据。
- host
(type.metadata.v3.MetadataKind.Host) 主机类型的元数据。
type.metadata.v3.MetadataKind.Request
[type.metadata.v3.MetadataKind.Request proto]
表示与请求相关的动态元数据。
type.metadata.v3.MetadataKind.Route
[type.metadata.v3.MetadataKind.Route proto]
表示来自 路由 的元数据。
type.metadata.v3.MetadataKind.Cluster
[type.metadata.v3.MetadataKind.Cluster proto]
表示来自 上游集群 的元数据。
type.metadata.v3.MetadataKind.Host
[type.metadata.v3.MetadataKind.Host proto]
表示来自 上游主机 的元数据。