class Bricolage::SNSDataSource

Attributes

client[R]
region[R]
topic[R]

Public Class Methods

new(region:, topic_arn:, access_key_id: nil, secret_access_key: nil) click to toggle source
# File lib/bricolage/snsdatasource.rb, line 10
def initialize(region:, topic_arn:, access_key_id: nil, secret_access_key: nil)
  @region = region
  @topic_arn = topic_arn
  @access_key_id = access_key_id
  @secret_access_key = secret_access_key
  @client = Aws::SNS::Client.new(region: region, access_key_id: access_key_id, secret_access_key: secret_access_key)
  @topic = Aws::SNS::Topic.new(topic_arn, client: @client)
end

Public Instance Methods

close() click to toggle source
# File lib/bricolage/snsdatasource.rb, line 35
def close
end
publish(message) click to toggle source
# File lib/bricolage/snsdatasource.rb, line 23
def publish(message)
  @topic.publish({ message: message })
rescue Aws::SNS::Errors::InvalidParameter => ex
  raise JobError, "bad SNS configuration (topic_arn=#{@topic_arn.inspect}): #{ex.message}"
rescue Aws::SNS::Errors::ServiceError => ex
  raise SNSException.wrap(ex)
end
Also aliased as: write
write(message)

IO compatible methods as a logger device

Alias for: publish