我正在尝试将SQS消息发送到FIFO队列。我遇到了“消息组ID”属性的问题。我认为使用MessageAttributeValue是设置“ MessageGroupId”的正确方法,但是AWS似乎无法识别此输入。设置SQS SendMessageRequest.MessageAttributes的正确方法是什么?
我已经创建了一个控制台项目来发送消息。我尝试了一些设置“消息组ID”属性的方法,但是在发送消息时出现了异常。
SendMessageRequest sendMessageRequest = new SendMessageRequest();
sendMessageRequest.QueueUrl = myURL;
MessageAttributeValue mavGroupID = new MessageAttributeValue();
mavGroupID.DataType = "MessageGroupId";
mavGroupID.StringValue = "1";
MessageAttributeValue mavDeDuplicateID = new MessageAttributeValue();
mavDeDuplicateID.DataType = "MessageDeduplicationId";
mavDeDuplicateID.StringValue = "1";
sendMessageRequest.MessageAttributes.Add("0", mavGroupID);
sendMessageRequest.MessageAttributes.Add("1", mavDeDuplicateID);
string sMyMessage = "";
Console.WriteLine();
Console.WriteLine("Message to send: ");
sMyMessage = Console.ReadLine();
sendMessageRequest.MessageBody = sMyMessage;
SendMessageResponse sMR = amazonSQSClient.SendMessage(sendMessageRequest);
Amazon.SQS.AmazonSQSException:'请求必须包含参数MessageGroupId。'
答案 0 :(得分:2)
MessageGroupId
本身是由SendMessageRequest
指定的。它不是MessageAttribute
的。
SendMessageRequest.MessageGroupId = 'foo'