2022-10-11 14:21:14 -06:00
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
# SPDX-License-Identifier: Apache-2.0
# Purpose
# This code example demonstrates how to send a message to a queue in Amazon Simple Queue Service (Amazon SQS).
2023-02-13 16:05:50 -06:00
# snippet-start:[ruby.example_code.sqs.SendMessage]
2024-09-25 15:25:54 -04:00
require 'aws-sdk-sqs'
require 'aws-sdk-sts'
2022-10-11 14:21:14 -06:00
# @param sqs_client [Aws::SQS::Client] An initialized Amazon SQS client.
# @param queue_url [String] The URL of the queue.
# @param message_body [String] The contents of the message to be sent.
# @return [Boolean] true if the message was sent; otherwise, false.
# @example
# exit 1 unless message_sent?(
# Aws::SQS::Client.new(region: 'us-west-2'),
# 'https://sqs.us-west-2.amazonaws.com/111111111111/my-queue',
# 'This is my message.'
# )
def message_sent? ( sqs_client , queue_url , message_body )
sqs_client . send_message (
queue_url : queue_url ,
message_body : message_body
)
true
rescue StandardError = > e
puts " Error sending message: #{ e . message } "
false
end
# Full example call:
# Replace us-west-2 with the AWS Region you're using for Amazon SQS.
def run_me
2024-09-25 15:25:54 -04:00
region = 'us-west-2'
queue_name = 'my-queue'
message_body = 'This is my message.'
2022-10-11 14:21:14 -06:00
sts_client = Aws :: STS :: Client . new ( region : region )
# For example:
# 'https://sqs.us-west-2.amazonaws.com/111111111111/my-queue'
2024-09-25 15:25:54 -04:00
queue_url = " https://sqs. #{ region } .amazonaws.com/ #{ sts_client . get_caller_identity . account } / #{ queue_name } "
2022-10-11 14:21:14 -06:00
sqs_client = Aws :: SQS :: Client . new ( region : region )
puts " Sending a message to the queue named ' #{ queue_name } '... "
if message_sent? ( sqs_client , queue_url , message_body )
2024-09-25 15:25:54 -04:00
puts 'Message sent.'
2022-10-11 14:21:14 -06:00
else
2024-09-25 15:25:54 -04:00
puts 'Message not sent.'
2022-10-11 14:21:14 -06:00
end
end
2024-02-16 11:17:29 -05:00
# Example usage:
2022-10-11 14:21:14 -06:00
run_me if $PROGRAM_NAME == __FILE__
2023-02-13 16:05:50 -06:00
# snippet-end:[ruby.example_code.sqs.SendMessage]