JDBC_Streaming informations

Thanks for your answer guyboertje,

But my issue not seems to be fix, I tried your way and I result with a =>
{
"@timestamp" => 2017-12-21T14:40:25.518Z,
"@version" => "1",
"country_details" => [
[0] {}
],
"message" => "1/nouvellerepublique/11979",
"tags" => [
[0] "_jdbcstreamingdefaultsused"
]
}

So I don't know why... my actual code is :


input {
kafka {
bootstrap_servers => "------"
topics => "-----"
codec => plain{
charset => "UTF-8"
}
}
}

filter {
jdbc_streaming {
jdbc_driver_library => "----/Logstash_test/mysql-connector-java-5.1.36/mysql-connector-java-5.1.36-bin.jar"
jdbc_driver_class => "com.mysql.jdbc.Driver"
jdbc_connection_string => "jdbc:mysql://----:3306/----"
jdbc_user => "----"
jdbc_password => "----"
parameters => { "getter" => "%{[message]}"}
statement => "SELECT * FROM Item WHERE reference = :getter"
target => "country_details"
}
}

output {
stdout { codec => rubydebug }
}


with "message" => "1/nouvellerepublique/11979"
statement => "SELECT * FROM Item WHERE reference = 1/nouvellerepublique/11979"
give this record :
{
"@timestamp" => 2017-12-21T14:50:25.548Z,
"@version" => "1",
"country_details" => [
[0] {}
],
"message" => "1/ladepechedumidi/ldmpub2017285003",
"tags" => [
[0] "_jdbcstreamingdefaultsused"
]
}


with "message" => "1/nouvellerepublique/11979"
statement => "SELECT * FROM Item WHERE reference = '1/nouvellerepublique/11979'"
give the good answer


So i've supposed that the problem is due to the "/" char composition of my message.

But,
"message" => "1/nouvellerepublique/11979"
parameters => { "getter" => "%{[message]}"}
statement => "SELECT * FROM Item WHERE reference = ':getter'"

Do not give the good answer...

So I don't have much idea...
Are my "/" char replace by "/" || "//" or something else in the statement ?
Or did I do it the wrong way ?

I'm all ears,

Best Regard,
AH_M7

1 Like