正在加载

链式载荷转换

Elastic Stack Serverless

一种载荷转换,它按顺序执行已配置的载荷转换列表,其中一个转换的输出作为链中下一个转换的输入。此转换接受的载荷作为链中第一个转换的输入,链中最后一个转换的输出是整个chain转换的输出。

您可以使用链式载荷转换,通过其他可用的转换构建更复杂的转换。例如,您可以组合一个search载荷转换和一个script载荷转换,如下面的代码片段所示

"transform" : {
  "chain" : [
    {
      "search" : {
        "request": {
          "indices" : [ "logstash-*" ],
          "body" : {
            "size" : 0,
            "query" : {
              "match" : { "priority" : "error" }
            }
          }
        }
      }
    },
    {
      "script" : "return [ 'error_count' : ctx.payload.hits.total ]"
    }
  ]
}
  1. chain载荷转换定义
  2. 链中的第一个转换(在本例中,是一个search载荷转换)
  3. 链中的第二个也是最后一个转换(在本例中,是一个script载荷转换)

此示例在集群上执行count搜索以查找error事件。然后将搜索结果传递给第二个script载荷转换。script载荷转换提取总命中计数,并将其分配给新生成的载荷中的error_count字段。这个新载荷是chain载荷转换的输出,并替换监视执行上下文中的载荷。

© . All rights reserved.