LOGSTASH-1118 - Option to add event fields from SQS message ID & MD5

This commit is contained in:
Louis Zuckerman 2013-06-09 12:51:32 -04:00
parent 279711497a
commit f3818ede20

View file

@ -63,6 +63,12 @@ class LogStash::Inputs::SQS < LogStash::Inputs::Threadable
# Name of the SQS Queue name to pull messages from. Note that this is just the name of the queue, not the URL or ARN. # Name of the SQS Queue name to pull messages from. Note that this is just the name of the queue, not the URL or ARN.
config :queue, :validate => :string, :required => true config :queue, :validate => :string, :required => true
# Name of the event field in which to store the SQS message ID
config :id_field, :validate => :string
# Name of the event field in which to store the SQS message MD5 checksum
config :md5_field, :validate => :string
public public
def aws_service_endpoint(region) def aws_service_endpoint(region)
return { return {
@ -108,6 +114,12 @@ class LogStash::Inputs::SQS < LogStash::Inputs::Threadable
if message if message
e = to_event(message.body, @sqs_queue) e = to_event(message.body, @sqs_queue)
if e if e
if @id_field
e[@id_field] = message.id
end
if @md5_field
e[@md5_field] = message.md5
end
@logger.debug("Processed SQS message", :message_id => message.id, :message_md5 => message.md5, :queue => @queue) @logger.debug("Processed SQS message", :message_id => message.id, :message_md5 => message.md5, :queue => @queue)
output_queue << e output_queue << e
message.delete message.delete