0
0
AwsHow-ToBeginner · 3 min read

How to Send Message to AWS SQS Queue Easily

To send a message to AWS SQS, use the SendMessage API or SDK method by specifying the queue URL and the message body. This sends your text message to the queue for processing by other services or applications.
📐

Syntax

The basic syntax to send a message to an SQS queue requires specifying the QueueUrl and the MessageBody. Optionally, you can add DelaySeconds to postpone delivery.

  • QueueUrl: The URL of the target SQS queue.
  • MessageBody: The text content of the message.
  • DelaySeconds: Number of seconds to delay the message (0-900).
json
{
  QueueUrl: "string",
  MessageBody: "string",
  DelaySeconds?: number
}
💻

Example

This example shows how to send a message to an SQS queue using AWS SDK for JavaScript (v3). It sends a simple text message and prints the message ID returned by SQS.

javascript
import { SQSClient, SendMessageCommand } from "@aws-sdk/client-sqs";

const client = new SQSClient({ region: "us-east-1" });

async function sendMessage() {
  const params = {
    QueueUrl: "https://sqs.us-east-1.amazonaws.com/123456789012/MyQueue",
    MessageBody: "Hello from SQS!"
  };

  try {
    const data = await client.send(new SendMessageCommand(params));
    console.log("Message sent, ID:", data.MessageId);
  } catch (err) {
    console.error("Error sending message:", err);
  }
}

sendMessage();
Output
Message sent, ID: 1234abcd-56ef-78gh-90ij-klmnopqrstuv
⚠️

Common Pitfalls

Common mistakes when sending messages to SQS include:

  • Using an incorrect or missing QueueUrl, which causes errors.
  • Sending empty or too large messages (max 256 KB).
  • Not handling errors from the send operation, leading to lost messages.
  • Forgetting to configure AWS credentials or region properly.

Always validate your queue URL and message size before sending.

javascript
/* Wrong: Missing QueueUrl */
const paramsWrong = {
  MessageBody: "Test message"
};

/* Right: Include QueueUrl */
const paramsRight = {
  QueueUrl: "https://sqs.us-east-1.amazonaws.com/123456789012/MyQueue",
  MessageBody: "Test message"
};
📊

Quick Reference

Tips for sending messages to SQS:

  • Always specify the full QueueUrl.
  • Keep messages under 256 KB.
  • Use DelaySeconds to postpone message delivery if needed.
  • Handle errors to retry or log failures.
  • Set AWS credentials and region before sending.

Key Takeaways

Specify the correct QueueUrl and MessageBody to send messages to SQS.
Keep message size under 256 KB and handle errors properly.
Use AWS SDKs for easy and reliable message sending.
Configure AWS credentials and region before sending messages.
DelaySeconds can postpone message delivery if needed.