public void PopulateQueueAttributes(QueueDescription queue)
{
var req = new GetQueueAttributesRequest() {
QueueUrl = queue.Url
};
req.AttributeNames.Add("ApproximateNumberOfMessages");
req.AttributeNames.Add("MessageRetentionPeriod");
var response = client.GetQueueAttributes(req);
if (response.Attributes != null && response.Attributes.Any()) {
foreach (KeyValuePair<string, string> att in response.Attributes) {
switch (att.Key) {
case "MessageRetentionPeriod":
queue.MessageRetentionPeriod = TimeSpan.FromSeconds(Double.Parse(att.Value));
break;
case "ApproximateNumberOfMessages":
queue.ApproximateNumberOfMessages = Int32.Parse(att.Value);
break;
}
}
}
}