我试图有一个观察器,自动创建和删除观察器,基于一个表。
应不同团队的要求,我将为他们发送审计报告。所有团队的报告都是相同的,生成报告的观察员将发送一封电子邮件,该邮件的格式仅为向相关团队显示相关信息。
现在,我希望使用一个观察器来查看at表,并使用适当的字段为该团队创建观察器,而不是在每次新团队请求其范围的审计时复制观察器并修改过滤器值。
我正在使用弹性中的webhook函数来创建新的watcher(或者删除不必要的watcher),它工作得非常好,直到我在Webhook有效载荷中达到1900多辆车左右。然后它失败了。
我纳闷:这是一个bug,还是我可以通过weebhook发送的字符数有某种限制?在这种情况下,任何人都有一个想法,这样我就可以减少有效负载(它是一封用html发送的邮件......目前我需要发送的有效负载接近25000,当我们增加审计测试的数量时,可能会增加。
生成监视器的代码核心...
PUT _watcher/watch/Test_Auto_Watcher?active=false
{
"trigger": {
...
},
"input": {
...
},
"condition": {
"always": {}
},
"actions": {
"create-action": {
"condition": {
"script": {
"source": "return !ctx.payload.to_be_created.isEmpty();",
"lang": "painless"
}
},
"foreach": "ctx.payload.to_be_created",
"max_iterations": 60,
"webhook": {
"scheme": "https",
"host": "....",
"port": ....,
"method": "put",
"path": "_watcher/watch/{{ctx.payload._source.watchername}}",
"params": {},
"headers": {},
"auth": {
"basic": {
"username": "....",
"password": "...."
}
},
"body": """ ***This is where it looks like we are limited to 1900 char...***"""
}
}
},
"transform": {
...
}
}
1条答案
按热度按时间kqlmhetl1#
好的,我确认,这个问题来自于devtool的linter,它阻止了webhook的有效负载中超过1900个字符。通过在watcher窗口而不是devtool中编辑watcher来解决。