diff --git a/sqs/sqs.go b/sqs/sqs.go index 2cb971edbdee3c58c9dbd49ff89b56dab11a0715..1260de16037fe5dfe0a2d5e4a65634b6a070c23f 100644 --- a/sqs/sqs.go +++ b/sqs/sqs.go @@ -49,7 +49,12 @@ func NewSQSMessenger(awsRegion, queueUrl string) (*Messenger, error) { // SendSQSMessage sends a message to the queue associated with the messenger // headers - string message attributes of the SQS message (see AWS SQS documentation) // body - body of the SQS message (see AWS SQS documentation) -func (m *Messenger) SendSQSMessage(headers map[string]string, body string, currentRequestID *string, sqsType string, headerKey string, messageGroupID string) (string, error) { +func (m *Messenger) SendSQSMessage(headers map[string]string, body string, currentRequestID *string, sqsType string, headerKey string, messageGroupID ...string) (string, error) { + msgGrpID := "" + if len(messageGroupID) > 0 && messageGroupID[0] != "" { + msgGrpID = messageGroupID[0] + } + msgAttrs := make(map[string]*sqs.MessageAttributeValue) for key, val := range headers { @@ -74,7 +79,7 @@ func (m *Messenger) SendSQSMessage(headers map[string]string, body string, curre var res *sqs.SendMessageOutput var err error - if messageGroupID == "" { + if msgGrpID == "" { res, err = m.service.SendMessage(&sqs.SendMessageInput{ MessageAttributes: msgAttrs, MessageBody: aws.String(body), @@ -85,7 +90,7 @@ func (m *Messenger) SendSQSMessage(headers map[string]string, body string, curre MessageAttributes: msgAttrs, MessageBody: aws.String(body), QueueUrl: &m.queueURL, - MessageGroupId: &messageGroupID, + MessageGroupId: &msgGrpID, }) }