如何访问logstash元数据事件的单个字段?

q9rjltbz  于 2021-06-14  发布在  ElasticSearch
关注(0)|答案(1)|浏览(271)

我将logastash7.6与输出jdbc插件一起使用,但是我得到了一个错误,我理解这是因为在这个事件中,它向我发送了作为@metadata一部分的所有要索引的字段。只需在事件名称中添加@就可以了。
如何在@metada集合中获得单个字段?
错误:

ERROR logstash.outputs.jdbc - JDBC - Exception. Not retrying {:exception=>#, :statement=>"UPDATE table SET estate = 'P' WHERE codigo = ? ", :event=>"{\"properties\":{\"rangoAltura1\":null,\"rangoAltura2\":null,\"codigo\":\"DB_001\",\"rangoAltura3\":null,\"descrip\":\"CARLOS PEREZ\",\"codigo\":\"106\",\"rangoAltura5\":null,\"active\":true},\"id\":\"DB_001_555\"}"}

我的.conf:

statement => ["UPDATE table SET estate = 'A' WHERE entidad = ? ","%{[@metadata][miEntidad]}"]

{[@metadata][mientidad]}----->map['entidad\u temp']=event.get('entidad')

brjng4g3

brjng4g31#

根据输出jdbc插件自述文件,您已经正确设置了它/
或许可以尝试以下解决方法: statement => ["UPDATE table SET estate = 'A' WHERE entidad = ? ","[@metadata][miEntidad]"]

相关问题