Watcher 比较条件
编辑Watcher 比较条件
编辑使用 compare
条件对 watch 负载中的值执行简单比较。您可以使用 compare
条件,无需启用动态脚本。
表 83. 支持的比较运算符
名称 | 描述 |
---|---|
|
当解析后的值等于给定值时返回 |
|
当解析后的值不等于给定值时返回 |
|
当解析后的值大于给定值时返回 |
|
当解析后的值大于或等于给定值时返回 |
|
当解析后的值小于给定值时返回 |
|
当解析后的值小于或等于给定值时返回 |
使用比较条件
编辑要使用 compare
条件,请指定您要评估的执行上下文中的值、一个 比较运算符 以及您要比较的值。例如,以下 compare
条件如果 搜索结果 中总命中数大于或等于 5,则返回 true
比较日期和时间时,可以使用 <{expression}>
形式的日期数学表达式。例如,以下表达式如果 watch 在过去五分钟内执行,则返回 true
{ "condition" : { "compare" : { "ctx.execution_time" : { "gte" : "<{now-5m}>" } } } }
您还可以通过将比较值指定为 {{path}}
形式的路径来比较执行上下文中的两个值。例如,以下条件将 ctx.payload.aggregations.status.buckets.error.doc_count
与 ctx.payload.aggregations.handled.buckets.true.doc_count
进行比较
{ "condition" : { "compare" : { "ctx.payload.aggregations.status.buckets.error.doc_count" : { "not_eq" : "{{ctx.payload.aggregations.handled.buckets.true.doc_count}}" } } } }
访问执行上下文中的值
编辑您可以使用“点表示法”访问执行上下文中的值。输入加载到执行上下文中的值以 ctx.payload
为前缀。
您可以使用其基于零的数组索引引用数组中的条目。例如,要访问 ctx.payload.hits.hits
数组的第三个元素,请使用 ctx.payload.hits.hits.2
。
名称 | 描述 |
---|---|
|
当前正在执行的 watch 的 ID。 |
|
此 watch 开始执行的时间。 |
|
此 watch 被触发的时刻。 |
|
此 watch 应该被触发的时刻。 |
|
与 watch 关联的任何元数据。 |
|
watch 的输入加载的有效负载数据。 |