2016-06-13 12 views
0

Ich suche nach einer Möglichkeit, eine Liste meiner Warteschlangennamen von AWS zu erhalten. Ich bin derzeit den Code unten, aber die Auflistung von AWS zurück enthält nur die Warteschlange URLs (und andere Attribute) und nicht der Queue-Name:So listen Sie Warteschlangen auf, einschließlich Warteschlangenname von AWS

using (var sqsClient = new AmazonSQSClient(credentials, RegionEndpoint.EUWest1)) 
{ 
    ListQueuesResponse response = sqsClient.ListQueues(new Amazon.SQS.Model.ListQueuesRequest()); 
    List<QueueResponse> qrs = new List<QueueResponse>(); 
    foreach (var queueURL in response.QueueUrls) 
    { 
     GetQueueAttributesResponse attributesResponse = sqsClient.GetQueueAttributes(new GetQueueAttributesRequest(queueURL, new List<string> { "All" })); 
     qrs.Add(new QueueResponse { QueueURL = queueURL, MessagesAvailable = attributesResponse.ApproximateNumberOfMessages, MessagesInFlight = attributesResponse.ApproximateNumberOfMessagesNotVisible }); 
    } 
} 

Ich würde irgendwelche Ratschläge zu schätzen wissen, das obige Problem zu lösen.

Dank

Antwort

0

'Try QueueARN which is something like this arn:aws:sqs:region:account-id:queuename '

namespace Amazon.SQS.Model 
{ 
    public class GetQueueAttributesResult : AmazonWebServiceResponse 
    { 
    public GetQueueAttributesResult(); 

    public int ApproximateNumberOfMessages { get; } 
    public int ApproximateNumberOfMessagesDelayed { get; } 
    public int ApproximateNumberOfMessagesNotVisible { get; } 
    public Dictionary<string, string> Attributes { get; set; } 
    public DateTime CreatedTimestamp { get; } 
    public int DelaySeconds { get; } 
    public DateTime LastModifiedTimestamp { get; } 
    public int MaximumMessageSize { get; } 
    public int MessageRetentionPeriod { get; } 
    public string Policy { get; } 
    public string QueueARN { get; } 
    public int VisibilityTimeout { get; } 
    } 
} 
Verwandte Themen