从Amazon SQS检索消息属性名称

时间:2018-05-28 07:18:05

标签: c# asp.net .net amazon-sqs

我试图通过输入表单来获取用户数据,然后将用户数据发送并存储到Amazon SQS中。 Amazon SQS中的详细信息以及消息属性名称可见。我实现了一个侦听器,用于从Amazon SQS队列中获取数据并将其存储到MS-SQL数据库中。

下面的屏幕截图显示了Amazon SQS中的消息属性名称:

enter image description here

问题:当我尝试使用侦听器从Amazon SQS获取数据时,我获取了用户数据但无法获取/获取"消息属性名称"。我在监听器中添加的以下代码片段是:

// Created an object of ReceiveMessageRequest class to pass values to all the parameters.
ReceiveMessageRequest receiveMessageRequest = new ReceiveMessageRequest();
receiveMessageRequest.QueueUrl = urlSQS;
receiveMessageRequest.MaxNumberOfMessages = 10;
List<string> AttributesList = new List<string>();
AttributesList.Add("ContactsQueue");

2 个答案:

答案 0 :(得分:2)

您的属性名为Class,但您正在请求名为ContactsQueue的属性。这就是你所需要的:

ReceiveMessageRequest receiveMessageRequest = new ReceiveMessageRequest()
{
    QueueUrl = urlSQS,
    MaxNumberOfMessages = 10,
    MessageAttributeNames = new List<string>() {"Class"}
};

答案 1 :(得分:0)

List<Message> messages = sqs.receiveMessage(receiveMessageRequest.withMessageAttributeNames("attributeTest")).getMessages();