AmazonSqs.Status.Components.QueueAdmin.ListTop10Messages C# (CSharp) Метод

ListTop10Messages() публичный Метод

public ListTop10Messages ( string queueUrl ) : List
queueUrl string
Результат List
        public List<QueueMessage> ListTop10Messages(string queueUrl)
        {
            var req = new ReceiveMessageRequest() {
                MaxNumberOfMessages = 10,
                QueueUrl = queueUrl
            };

            req.AttributeNames.Add("SentTimestamp");
            req.AttributeNames.Add("ApproximateReceiveCount");
            req.AttributeNames.Add("ApproximateFirstReceiveTimestamp");

            var result = new List<QueueMessage>(10);
            var response = client.ReceiveMessage(req);
            if (response.Messages != null && response.Messages.Any()) {
                DateTime epochDate = new DateTime(1970,1,1,0,0,0,DateTimeKind.Utc);
                foreach (Message msg in response.Messages) {
                    var qm = new QueueMessage {
                        Body = msg.Body,
                        ReceiptHandle = msg.ReceiptHandle
                    };

                    if (msg.Attributes != null && msg.Attributes.Any()) {
                        foreach (KeyValuePair<string, string> att in msg.Attributes) {
                            switch (att.Key) {
                                case "SentTimestamp":
                                    qm.Sent = epochDate.AddMilliseconds(double.Parse(att.Value));
                                    break;
                                case "ApproximateReceiveCount":
                                    qm.ApproximateReceiveCount = Int32.Parse(att.Value);
                                    break;
                                case "ApproximateFirstReceiveTimestamp":
                                    qm.FirstReceived = epochDate.AddMilliseconds(double.Parse(att.Value));
                                    break;
                            }
                        }
                    }

                    result.Add(qm);
                }
            }

            return result;
        }