Я новичок в logstash и не могу получить вход s3 для работы. Как вы можете видеть ниже, я продолжаю сталкиваться с этой проблемой Error: undefined method common_prefixes for {}:Hash
, и я понятия не имею, почему.Logstash S3 Input NoMethodError
Я использую последнюю версию Logstash с сайта, 1.4.2. Я загружаю, распаковываю, запускаю с приведенной ниже конфигурацией и получаю ошибку, указанную ниже.
У меня отсутствует зависимость? Похоже, что Logstash связывает все, что мне нужно, включая aws-sdk.
Моя конфигурация выглядит следующим образом:
input {
s3 {
bucket => "mybucket/withadirectory/"
credentials => ["id", "key" ]
codec => "json"
}
}
output {
stdout { codec => rubydebug }
}
ковшового Содержание
s3cmd ls s3://mybucket/withdirectory/
2014-11-24 21:43 0 s3://mybucket/withdirectory/
2014-12-08 07:45 729126 s3://mybucket/withdirectory/SampleFileForTesting.gz
Ошибка
Pipeline started {:level=>:info, :file=>"logstash/pipeline.rb", :line=>"78"}
A plugin had an unrecoverable error. Will restart this plugin.
Plugin: <LogStash::Inputs::S3 bucket=>"mybucket/withdirectory/", credentials=>["xyz", "zyx"], region_endpoint=>"us-west-2">
Error: undefined method `common_prefixes' for {}:Hash
Exception: NoMethodError
Stack: /home/test/logstash-1.4.2/vendor/bundle/jruby/1.9/gems/aws-sdk-1.35.0/lib/aws/core/data.rb:101:in `method_missing'
/home/test/logstash-1.4.2/vendor/bundle/jruby/1.9/gems/aws-sdk-1.35.0/lib/aws/core/data.rb:121:in `method_missing'
/home/test/logstash-1.4.2/vendor/bundle/jruby/1.9/gems/aws-sdk-1.35.0/lib/aws/core/response.rb:184:in `method_missing'
/home/test/logstash-1.4.2/vendor/bundle/jruby/1.9/gems/aws-sdk-1.35.0/lib/aws/s3/prefix_and_delimiter_collection.rb:31:in `each_member_in_page'
/home/test/logstash-1.4.2/vendor/bundle/jruby/1.9/gems/aws-sdk-1.35.0/lib/aws/s3/object_collection.rb:288:in `each_member_in_page'
/home/test/logstash-1.4.2/vendor/bundle/jruby/1.9/gems/aws-sdk-1.35.0/lib/aws/s3/paginated_collection.rb:31:in `_each_item'
/home/test/logstash-1.4.2/vendor/bundle/jruby/1.9/gems/aws-sdk-1.35.0/lib/aws/core/collection/with_limit_and_next_token.rb:54:in `_each_batch'
/home/test/logstash-1.4.2/vendor/bundle/jruby/1.9/gems/aws-sdk-1.35.0/lib/aws/core/collection.rb:80:in `each_batch'
/home/test/logstash-1.4.2/vendor/bundle/jruby/1.9/gems/aws-sdk-1.35.0/lib/aws/core/collection.rb:47:in `each'
/home/test/logstash-1.4.2/vendor/bundle/jruby/1.9/gems/aws-sdk-1.35.0/lib/aws/s3/object_collection.rb:282:in `each'
/home/test/logstash-1.4.2/lib/logstash/inputs/s3.rb:168:in `list_new'
/home/test/logstash-1.4.2/lib/logstash/inputs/s3.rb:150:in `process_new'
/home/test/logstash-1.4.2/lib/logstash/inputs/s3.rb:137:in `run'
org/jruby/RubyKernel.java:1521:in `loop'
/home/test/logstash-1.4.2/lib/logstash/inputs/s3.rb:136:in `run'
/home/test/logstash-1.4.2/lib/logstash/pipeline.rb:163:in `inputworker'
/home/test/logstash-1.4.2/lib/logstash/pipeline.rb:157:in `start_input' {:level=>:error, :file=>"logstash/pipeline.rb", :line=>"168"}