Docs / Strand / connectors/aws-sqs

AWS SQS

Direction: Read / Write | Type: aws.sqs

Amazon Simple Queue Service connector for sending and receiving messages from SQS queues.

Required Permissions#

The IAM user or role must have the following permissions:

Operation Required IAM Permissions
send_message sqs:SendMessage
receive_message sqs:ReceiveMessage, sqs:DeleteMessage
Tip: Scope permissions to specific queue ARNs to follow the principle of least privilege.

Operations#

Operation Direction Description
send_message Write Send a message to the queue
receive_message Read Receive messages from the queue

Connector Configuration#

Field Required Default Description
Authentication Type No api_key Uses explicit credentials (the fields below).
Region Yes - AWS region code (e.g., us-east-1)
Endpoint URL No - Custom endpoint for a self-managed target or an AWS VPC endpoint. Leave empty for AWS.
Access Key ID Conditional - AWS access key (encrypted). Required when Authentication Type is api_key
Secret Access Key Conditional - AWS secret key (encrypted). Required when Authentication Type is api_key
Queue URL No - Default SQS queue URL (can be overridden at node level)

Node Configuration#

Field Required Description
Operation Yes send_message or receive_message
Queue URL No SQS queue URL (overrides connector default)
Max Messages No Maximum messages to receive (default: 1, for receive_message only)

Output#

send_message#

json

{
  "success": true,
  "status": "sent",
  "data": {
    "message_id": "abc-123-def",
    "queue_url": "https://sqs.us-east-1.amazonaws.com/123456789/my-queue"
  },
  "service": "aws.sqs",
  "operation": "send_message"
}

receive_message#

json

{
  "success": true,
  "status": "received",
  "data": {
    "messages": [{"key": "value"}],
    "count": 1
  },
  "service": "aws.sqs",
  "operation": "receive_message"
}

When the queue is empty:

json

{
  "success": true,
  "status": "empty",
  "data": {
    "messages": [],
    "count": 0
  },
  "service": "aws.sqs",
  "operation": "receive_message"
}

Access received messages:

jinja2

{{ payload.data.messages[0] }}
{{ payload.data.count }}

Example#

Connector Setup:

json

{
  "region": "us-east-1",
  "access_key_id": "AKIAIOSFODNN7EXAMPLE",
  "secret_access_key": "wJalrXUtnFEMI/K7MDENG...",
  "queue_url": "https://sqs.us-east-1.amazonaws.com/123456789/my-queue"
}

Node Configuration (send):

Node Configuration (receive):