字段动态变量¶
在很多场景下,我们往往需要动态的获取event里的某个字段。 比如:
- kafka sink里的topic,或者elasticsearch sink里的index,根据event某个字段的值来动态的生成。我们可以使用
${a.b}的方式来取值。 - 在transformer interceptor中,操作某个字段:copy(a.b, a.c)。
 
以下event为例:
{
    "fields": {
        "svc": "test",
    }
}
kafka sink topic配置为:log-${fields.svc},则最终渲染生成的为log-test。
Caution
一般可以使用.点号来表示嵌套的字段。但是,如果字段本身就包括.号,则需要使用[]包围起来,避免误认为是一个嵌套的字段。
比如:
{
    "fields": {
        "a.b": "demo",
    }
}
${fields.[a.b]}来表示字段a.b。