现在,我尝试根据消息属性名称=“类”来过滤消息。正如你在下面的代码中看到的
//Specify attribute list
List<string> AttributesList = new List<string>();
AttributesList.Add("Class");
receiveMessageRequest.MessageAttributeNames = AttributesList;
receiveMessageRequest.QueueUrl = urlSQS;
receiveMessageRequest.MaxNumberOfMessages = 10;
ReceiveMessageResponse receiveMessageResponse = objClient.ReceiveMessage(receiveMessageRequest);
但消息不会根据提供的 MessageAttributeNames = "class" 进行过滤。
receiveMessageRequest.MessageAttributeNames = AttributesList;
这告诉 SQS 您希望它随消息返回哪些消息属性如果消息中出现。它不是消息过滤器。如果属性不存在,则不会发生任何事情。
但你的困惑似乎是可以理解的——实际上并不明显为什么 API 甚至具有此功能,尽管它可能是 SQS 仅支持比现在更小的消息时的保留,或者可能是为了避免花费任何时间解析您最终将丢弃的响应中的信息。我几乎总是只是要求All
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)