SQS:获取 SQS 队列中的消息数
SQS : Getting Number of message in the SQS Queue
我正在使用 Amazon-SQS,我尝试从队列中检索大约数量的属性,但响应为空
我正在使用 C# 以下是代码:
GetQueueAttributesRequest attReq = new GetQueueAttributesRequest();
attReq.QueueUrl = "Link to queue";
GetQueueAttributesResponse response = client.GetQueueAttributes(attReq);
Console.WriteLine("App. messages: "+ response.ApproximateNumberOfMessages);
我从请求中得到空响应,我确定队列中也有消息。
您必须从 GetQueueAttributes 中明确指定您想要 return 的属性。您没有指定任何内容,所以它没有 return 任何内容。
尝试简单地将 ApproximateNumberOfMessages 添加到 GetQueueAttributesRequest 上的 AttributeNames 集合:
GetQueueAttributesRequest attReq = new GetQueueAttributesRequest();
attReq.QueueUrl = "Link to queue";
attReq.AttributeNames.Add("ApproximateNumberOfMessages");
GetQueueAttributesResponse response = client.GetQueueAttributes(attReq);
备注:
- 如果您使用的是旧版本的 AWSSDK,则此 属性 可能会被称为
AttributeName
而没有最后一个 s。看起来这在版本 1.x 和 2.x 之间发生了变化。
- 可以在 API documentation
中找到完整的属性列表
我正在使用 Amazon-SQS,我尝试从队列中检索大约数量的属性,但响应为空
我正在使用 C# 以下是代码:
GetQueueAttributesRequest attReq = new GetQueueAttributesRequest();
attReq.QueueUrl = "Link to queue";
GetQueueAttributesResponse response = client.GetQueueAttributes(attReq);
Console.WriteLine("App. messages: "+ response.ApproximateNumberOfMessages);
我从请求中得到空响应,我确定队列中也有消息。
您必须从 GetQueueAttributes 中明确指定您想要 return 的属性。您没有指定任何内容,所以它没有 return 任何内容。
尝试简单地将 ApproximateNumberOfMessages 添加到 GetQueueAttributesRequest 上的 AttributeNames 集合:
GetQueueAttributesRequest attReq = new GetQueueAttributesRequest();
attReq.QueueUrl = "Link to queue";
attReq.AttributeNames.Add("ApproximateNumberOfMessages");
GetQueueAttributesResponse response = client.GetQueueAttributes(attReq);
备注:
- 如果您使用的是旧版本的 AWSSDK,则此 属性 可能会被称为
AttributeName
而没有最后一个 s。看起来这在版本 1.x 和 2.x 之间发生了变化。 - 可以在 API documentation 中找到完整的属性列表