Skip to content

[FEAT] SQS Standard queue supports passing "MessageGroupId" for Fair Queues feature #1496

Description

@saurabhapd

Service
SQS

API Action / Feature
SendMessage — MessageGroupId parameter on standard (non-FIFO) queues

AWS Documentation
SendMessage — MessageGroupId parameter on standard (non-FIFO) queues
ReceiveMessage — MessageGroupId system attribute

Why is this needed?
Our application sends messages to standard (non-FIFO) SQS queues using the AWS SDK's SendMessageRequest with MessageGroupId set to a caller-supplied correlation value (an EnvironmentId GUID):

SendMessageRequest sqsSendMessageRequest = new()
{
    QueueUrl = myQueueUrl,
    MessageBody = JsonSerializer.Serialize(message),
    MessageGroupId = myQueueUrl.EndsWith(".fifo") ? "1" : message.EnvironmentId
};

On ReceiveMessage, we retrieve that value back via --attribute-names MessageGroupId.

aws sqs receive-message \
  --queue-url <url> \
  --attribute-names MessageGroupId \
  --max-number-of-messages 1

Floci silently discards MessageGroupId on SendMessage for standard queues (which is correct per AWS spec), so ReceiveMessage returns no MessageGroupId attribute.

Are you willing to contribute a PR?

  • Yes
  • No

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestreleasedsnsAmazon Simple Notification Service (SNS)sqsAmazon Simple Queue Service (SQS)

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions