gpt4 book ai didi

Logstash - 从 json 文件中删除深层字段

转载 作者:行者123 更新时间:2023-12-03 00:18:01 24 4
gpt4 key购买 nike

我有一个 JSON 文件,我正在通过 Logstash 发送到 ES。我想删除 JSON 中的 1 个字段(它是深层字段) - 仅当值为 NULL 时。

JSON 的一部分是:

"input": {
"startDate": "2015-05-27",
"numberOfGuests": 1,
"fileName": "null",
"existingSessionId": "XXXXXXXXXXXXX",
**"radius": "null",**
"nextItemReference": "51",
"longitude": -99.12,
"endDate": "2015-05-29",
"thumbnailHeight": 200,
"thumbnailWidth": 300,
"latitude": 19.42,
"numOfRooms": "1"
},

logstash.conf 文件中的部分是:

if [input.radius] == "null" {
mutate {
remove_field => [ "input.radius" ]
}
}

这当然是在过滤器内部。

如果值为空,如何删除该字段?

最佳答案

嵌套字段不是用[name.subfield]引用,而是用[field][subfield]引用。这应该适合你:

if [input][radius] == "null" {
mutate {
remove_field => [ "[input][radius]" ]
}
}

请注意,如果没有“输入”字段,则 [input][radius] 引用将创建一个空的“输入”字典。为了避免这种情况,您可以这样做:

if [input] and [input][radius] == "null" {
mutate {
remove_field => [ "[input][radius]" ]
}
}

请参阅Logstash documentation了解详细信息和更多示例。

关于Logstash - 从 json 文件中删除深层字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30369148/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com