Kumar Siva
Kumar Siva

Reputation: 349

How to get aws sqs client and send a message to queue?

How to get aws sqs client and send a message to queue in ruby sdk?

$sqs = Aws::SQS::Client.new(
  :access_key_id => SQS_CONFIG[:access_key_id], 
  :secret_access_key => SQS_CONFIG[:secret_access_key], 
  :region => 'us-east-1'
)

After this how to push message to a queue?

Upvotes: 0

Views: 1459

Answers (1)

Robbie Chiha
Robbie Chiha

Reputation: 409

From the AWS Developer Guide

require 'aws-sdk'

sqs = Aws::SQS::Client.new(region: 'us-east-1')

# Send a message to a queue.
queue_name = "my-queue"

begin
  queue_url = sqs.get_queue_url(queue_name: queue_name).queue_url

  # Create a message with three custom attributes: Title, Author, and WeeksOn.
  send_message_result = sqs.send_message({
    queue_url: queue_url, 
    message_body: "Information about current NY Times fiction bestseller for week of 2016-12-11.",
    message_attributes: {
      "Title" => {
        string_value: "The Whistler",
        data_type: "String"
      },
      "Author" => {
        string_value: "John Grisham",
        data_type: "String"
      },
      "WeeksOn" => {
        string_value: "6",
        data_type: "Number"
      }
    }
  })
rescue Aws::SQS::Errors::NonExistentQueue
  puts "A queue named '#{queue_name}' does not exist."
  exit(false)
end

puts send_message_result.message_id

Upvotes: 2

Related Questions