我正在尝试将 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);
Run Code Online (Sandbox Code Playgroud)
Amazon.SQS.AmazonSQSException:“请求必须包含参数 MessageGroupId。”
像许多使用 Boost ASIO 库的人一样,我收到了“WinSock.h 已经包含在内”的错误消息。在其他帖子中,通过将 #include 行移到 #include 上方来回答问题
就我而言,我正在处理一个使用 Wx Widgets 的项目,并且似乎与 MFC 没有任何连接,也没有与 Win32 的直接连接。我找不到任何对 windows.h 的调用,也找不到任何相关的调用。我也试过使用 WIN32_LEAN_AND_MEAN 和 BOOST_ASIO_NO_WIN32_LEAN_AND_MEAN 声明。
我想知道是否有人在编写 Wx Widgets 项目时遇到了与 Boost ASIO 类似的问题?如果是这样,您是否能够解决 Winsock 错误?