Class: Sqspoller::SnsForwarder

Inherits:
Object
  • Object
show all
Defined in:
lib/sqspoller/sns_forwarder.rb

Instance Method Summary collapse

Constructor Details

#initialize(args) ⇒ SnsForwarder

Returns a new instance of SnsForwarder.



5
6
7
8
9
10
11
12
# File 'lib/sqspoller/sns_forwarder.rb', line 5

def initialize args
  @sns = Aws::SNS::Client.new access_key_id: args[:access_key_id],
                              secret_access_key: args[:secret_access_key],
                              region: args[:region]
  @topic_arn = args[:sns_topic_arn]
  @logger = args[:logger]
  @logger.info "     Inializing SnsForwarder with SNS topic arn: #{@topic_arn}"
end

Instance Method Details

#process(message, message_id) ⇒ Object



14
15
16
17
18
19
20
21
22
23
# File 'lib/sqspoller/sns_forwarder.rb', line 14

def process message, message_id
  @logger.info "      Processing message"
  @logger.info "        Publishing to #{@topic_arn}"
  begin
    response = @sns.publish topic_arn: @topic_arn, message: message
    @logger.info "        SNS response message id: #{response.message_id}"
  rescue Aws::SNS::Errors::ServiceError => e
    @logger.info "AWS SNS Encountered the error: #{e.inspect}"
  end
end