我正在尝试使用Logstash管道将数据从CSV文件上传到运行在Google云端上的弹性云。它返回错误-
input{
file{
path => "/Users/apple/Desktop/master.csv"
start_position =>"beginning"
sincedb_path= "/dev/null"
}
}
filter{
csv{
separator => ","
columns => {"Category", "Sub category", "Sub Sub Category", "Products", "Measure", "Price",
"Description", "Gst"}
}
mutate{convert => ["Price", "float"] }
mutate{convert => ["Gst", "float"] }
}
output{
elasticsearch{
hosts = "https://0acd1a298ea34dc1a28a974a302f2a7f.europe-west1.gcp.cloud.es.io:9243"
username = "elastic"
password = "**********"
index => "masterdb"
document_type => "product"
}
}
错误是
Failed to execute action {:action=>LogStash::PipelineAction::Create/pipeline_id:main, :exception=>"LogStash::ConfigurationError", :message=>"Expected one of #
#之一应该是什么? 请帮我修复它。
答案 0 :(得分:1)
您看到的错误(:ConfigurationError", :message=>"Expected one of #...
)表示您的配置中至少有一个错字。
我已经清理了您的配置:
input{
file{
path => "/Users/apple/Desktop/master.csv"
start_position =>"beginning"
sincedb_path=> "/dev/null"
}
}
filter{
csv{
separator => ","
columns => ["Category", "Sub category", "Sub Sub Category", "Products", "Measure", "Price", "Description", "Gst"]
}
mutate{convert => ["Price", "float"] }
mutate{convert => ["Gst", "float"] }
}
output{
elasticsearch{
hosts => "https://0acd1a298ea34dc1a28a974a302f2a7f.europe-west1.gcp.cloud.es.io:9243"
user => "elastic"
password => "**********"
index => "masterdb"
document_type => "product"
}
}
有些=>
的类型错误为=
,因此csv过滤器中的columns选项必须放在方括号之间,因为有不止一列,并且username用户名选项在其中不存在elasticseach配置。