SQS:获取SQS队列中的消息数

时间:2015-08-05 11:03:56

标签: c# amazon-web-services amazon-sqs

我正在使用Amazon-SQS,我尝试从队列中检索大致的属性数但响应为空

我正在使用C#以下是代码:

GetQueueAttributesRequest attReq = new GetQueueAttributesRequest();
attReq.QueueUrl = "Link to queue";
GetQueueAttributesResponse response = client.GetQueueAttributes(attReq);
Console.WriteLine("App. messages: "+ response.ApproximateNumberOfMessages);

我从请求中获得null响应,我确信队列中也有消息。

1 个答案:

答案 0 :(得分:4)

您必须明确指定要从GetQueueAttributes返回的属性。你没有指定任何,所以它没有返回任何。

尝试在GetQueueAttributesRequest上简单地将ApproximateNumberOfMessages添加到AttributeNames集合中:

GetQueueAttributesRequest attReq = new GetQueueAttributesRequest();
attReq.QueueUrl = "Link to queue";
attReq.AttributeNames.Add("ApproximateNumberOfMessages");
GetQueueAttributesResponse response = client.GetQueueAttributes(attReq);

注意:

  • 如果您使用的是较早版本的AWSSDK,则此属性可能会被称为AttributeName而没有最后一个。看起来这在版本1.x和2.x之间发生了变化。
  • 可以在API documentation
  • 中找到完整的属性列表