有效载荷转换编辑

有效载荷转换 处理并更改监视执行上下文中的有效载荷,以准备用于监视操作。Watcher 支持三种类型的有效载荷转换

有效载荷转换是可选的。如果没有定义任何转换,操作将可以访问由监视输入加载的有效载荷。

您可以在两个地方定义有效载荷转换

  • 作为监视定义中的顶级结构。在这种情况下,在执行任何监视操作之前,将转换有效载荷。
  • 作为操作定义的一部分。在这种情况下,在执行该操作之前,将转换有效载荷。转换仅应用于该特定操作的有效载荷。

如果所有操作都需要对有效载荷的相同视图,请将有效载荷转换定义为监视定义的一部分。如果每个操作都需要对有效载荷的不同视图,请将不同的有效载荷转换定义为操作定义的一部分,以便每个操作都具有由其自己的专用有效载荷转换准备的有效载荷。

以下示例定义了两个有效载荷转换,一个在监视级别,另一个作为 my_webhook 操作的定义的一部分。

{
  "trigger" : { ...}
  "input" : { ... },
  "condition" : { ... },
  "transform" : { 
    "search" : {
      "request": {
        "body" : { "query" : { "match_all" : {} } }
      }
    }
  },
  "actions" : {
    "my_webhook": {
      "transform" : { 
      	"script" : "return ctx.payload.hits"
      },
      "webhook" : {
      	"host" : "host.domain",
      	"port" : 8089,
      	"path" : "/notify/{{ctx.watch_id}}"
      }
    }
  ]
}

监视级别 transform

操作级别 transform