Metadata (proto)
type.metadata.v3.MetadataKey
[type.metadata.v3.MetadataKey proto]
MetadataKey 提供一個通用介面,使用 key
和 path
從 Metadata 中檢索值。
例如,對於以下 Metadata
filter_metadata:
envoy.xxx:
prop:
foo: bar
xyz:
hello: envoy
以下 MetadataKey 將從 Metadata 檢索字串值 “bar”。
key: envoy.xxx
path:
- key: prop
- key: foo
{
"key": ...,
"path": []
}
- key
(字串,必填) 從 metadata 中檢索 Struct 的金鑰名稱。通常,它表示內建子系統或自訂擴充功能。
- path
(重複 type.metadata.v3.MetadataKey.PathSegment,必填) 從 Struct 中檢索值的路徑。它可以是前綴或完整路徑,例如,
[prop, xyz]
用於結構體,或[prop, foo]
用於範例中的字串,這取決於特定情況。注意:由於僅支援金鑰類型區段,因此路徑無法指定清單,除非該清單是最後一個區段。
type.metadata.v3.MetadataKey.PathSegment
[type.metadata.v3.MetadataKey.PathSegment proto]
指定路徑中的區段,以從 Metadata 中檢索值。目前僅支援將金鑰(即欄位名稱)指定為路徑的一個區段。
{
"key": ...
}
- key
(字串,必填) 如果指定,請使用金鑰從 Struct 中檢索值。
type.metadata.v3.MetadataKind
[type.metadata.v3.MetadataKind proto]
描述 metadata 的種類。
{
"request": {...},
"route": {...},
"cluster": {...},
"host": {...}
}
- request
(type.metadata.v3.MetadataKind.Request) 請求類型的 metadata。
- route
(type.metadata.v3.MetadataKind.Route) 路由類型的 metadata。
- cluster
(type.metadata.v3.MetadataKind.Cluster) 叢集類型的 metadata。
- host
(type.metadata.v3.MetadataKind.Host) 主機類型的 metadata。
type.metadata.v3.MetadataKind.Request
[type.metadata.v3.MetadataKind.Request proto]
表示與請求關聯的動態 metadata。
type.metadata.v3.MetadataKind.Route
[type.metadata.v3.MetadataKind.Route proto]
表示來自 路由 的 metadata。
type.metadata.v3.MetadataKind.Cluster
[type.metadata.v3.MetadataKind.Cluster proto]
表示來自 上游叢集 的 metadata。
type.metadata.v3.MetadataKind.Host
[type.metadata.v3.MetadataKind.Host proto]
表示來自 上游主機 的 metadata。