tile38 icon indicating copy to clipboard operation
tile38 copied to clipboard

Support SQS Fifo queues for Hooks

Open tobilg opened this issue 5 years ago • 2 comments

Is your feature request related to a problem? Please describe. Currently, SQS Fifo queues don't seem to be supported. I see the following error in the logs:

2020/12/06 11:46:37 [DEBU] Endpoint connect/send error: 1: https://sqs.us-east-1.amazonaws.com/123456789/myqueue.fifo: MissingParameter: The request must contain the parameter MessageGroupId.
        status code: 400, request id: 092ce8e1-ff47-593e-aa58-b0a7399a0e9b

Describe the solution you'd like Tile38 could detect SQS Fifo queues based on the .fifo suffix, and then add an additional parameter for MessageGroupId to the sendMessage request. The MessageGroupId could the static, i.e. tile38.

See https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/using-messagegroupid-property.html

tobilg avatar Dec 06 '20 11:12 tobilg

Is the .fifo suffix standard with SQS? If not I think it might be best to use a query string variable like:

https://sqs.us-east-1.amazonaws.com/123456789/myqueue?fifoqueue=1&messageGroupID=tile38

This would be more consistent with how Tile38 uses endpoint urls.

tidwall avatar Dec 06 '20 17:12 tidwall

Thanks for the fast reply! Yes, the suffix needs to be .fifo to define a SQS Fifo queue, according to https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-queues.html#aws-sqs-queue-name

Being able to optionally define the MessageGroupId via query string would be nice.

tobilg avatar Dec 06 '20 17:12 tobilg