如何将SQS消息发送到FIFO类型队列

时间:2017-12-05 12:05:51

标签: c# amazon-sqs

我可以轻松地向AWS SQS消息队列(标准类型)发送和接收消息,但是当我创建FIFO队列并尝试发送消息时,我收到一个异常,即我必须设置非空消息组ID 。

我在AWS文档中的java中找到了这个例子:

**// Send a message

SendMessageRequest sendMessageRequest = new SendMessageRequest(myQueueUrl, "This is my message text.");
*// You must provide a non-empty MessageGroupId when sending messages to a FIFO queue
sendMessageRequest.setMessageGroupId("messageGroup1");*

但是当我在c#中使用AWS.SQS包时,我找不到任何可以设置消息组ID的属性或方法。

这是代码

SendMessageRequest sendMessageRequest = new SendMessageRequest();
sendMessageRequest.QueueUrl = myQueueUrl; //URL from initial queue creation
sendMessageRequest.MessageBody = "This is my message text.";
sqs.SendMessage(sendMessageRequest);

3 个答案:

答案 0 :(得分:2)

我遇到了完全相同的问题,结果我需要安装AWSSDK.Core和AWSSDK.SQS软件包并删除我原来拥有的基础AWSSDK软件包。

答案 1 :(得分:1)

实际上,SendMessageRequest中有一个MessageGroupId属性。我找不到它,因为我在Awssdk.SQS的实例中搜索它,我认为他们有最新版本,但他们的例子没有使用最新版本,所以我找不到它。我安装了最后一个版本,然后开始工作。

答案 2 :(得分:0)

更新aws sdk版本。您正在使用旧版本。