Ich benutze Logstash Lesen von Daten von MySQL zu Kafka. für den Speicherplatz zu sparen, ich schreibe Ausgabe Config wie folgt aus:Wie Logstash nil Wert richtig mit Plain Formater behandeln
kafka {
codec => plain {
format => "%{key1},%{key2},%{key3}"
}
}
wie ich erwarte, dass durch eine solche Eingabedaten geben:
{
key1: value1,
key2: nil,
key3: value3
}
Die Ausgabe sollte wie folgt aus:
value1,,value3
aber die tatsächliche Ausgabe ist dies:
value1,%{key2},value3
Wie man Ausgangskonfiguration setzt, um die Null mit "" zu konvertieren, weiß jeder?
Bogen
hi, danke, es funktioniert. da ist eine Kleinigkeit, die mich verwirrt. Mit muate ist die Ausgabe von rubydebu wie folgt: {"key1" => "value1", "key2" => [[0], ""], "key3" => "value3"}. Ich erwarte dies: {"key1" => "value1", "key2" => "", "key3" => "value3"} – Howardyan
Klingt wie key2 auf etwas gesetzt wurde, und add_field verwandelte es in ein Array. –
Was Alain sagte, ist wahr. 'if [key2]' ist false, wenn [key2] im Ereignis nicht vorhanden ist oder [key2] im Ereignis existiert, aber null ist (siehe https://www.elastic.co/guide/en/logstash/ 5.5/ereignisabhängige-configuration.html # conditionals). – baudsp