class DbBlaster::SnsPublisher
Publishes records to AWS SNS
Public Instance Methods
client()
click to toggle source
# File lib/db_blaster/sns_publisher.rb, line 23 def client @client ||= Aws::SNS::Client.new(region: DbBlaster.configuration.aws_region, credentials: Aws::Credentials.new(DbBlaster.configuration.aws_access_key, DbBlaster.configuration.aws_access_secret)) end
message_attributes()
click to toggle source
# File lib/db_blaster/sns_publisher.rb, line 29 def message_attributes (DbBlaster.configuration.extra_sns_message_attributes || {}) .merge('source_table' => { data_type: 'String', string_value: source_table.name }) end
publish()
click to toggle source
# File lib/db_blaster/sns_publisher.rb, line 10 def publish topic.publish(message_attributes: message_attributes, message: records.to_json) end
resource()
click to toggle source
# File lib/db_blaster/sns_publisher.rb, line 19 def resource @resource ||= Aws::SNS::Resource.new(client: client) end
topic()
click to toggle source
# File lib/db_blaster/sns_publisher.rb, line 15 def topic resource.topic(DbBlaster.configuration.sns_topic) end