0

ListMetrics 함수를 사용하여 CloudWatch에 저장된 모든 메트릭을 나열하려고합니다. 이 함수는 약 500 개의 메트릭과 나머지 메트릭을 얻기 위해 다음 호출에 사용될 NextToken이라는 문자열 값을 반환합니다.ListMetrics 함수에서 nextToken을 사용하는 방법

이것은 아래 코드이지만 NextToken을 사용하여 나머지 측정 항목을 얻는 방법을 모르겠습니다.

// creates the CloudWatch client 
      var cw = Amazon.AWSClientFactory.CreateAmazonCloudWatchClient(Amazon.RegionEndpoint.EUWest1); 
     // initialses the list metrics request 
     ListMetricsRequest lmr = new ListMetricsRequest(); 
     ListMetricsResponse lmresponse = cw.ListMetrics(lmr); 



     // loop that uses the token to get all the metrics available 
     // not finished yet 
     do 
     { 
      lmresponse = cw.ListMetrics(lmr); 
      lmresponse.NextToken; 

     } while (lmresponse.NextToken != null); 

나머지 메트릭을 얻으려면 NextToken을 사용하는 방법을 알고 싶습니다. 불행히도 온라인에서 예제를 찾을 수 없습니다.

답변

0

을 응답 NextToken이 있다면, 당신은 다음 요청에서 사용할 수 있습니다 : 할 - while 루프에서 퍼팅

// creates the CloudWatch client 
var cw = Amazon.AWSClientFactory.CreateAmazonCloudWatchClient(Amazon.RegionEndpoint.EUWest1); 
// initialses the list metrics request 
ListMetricsRequest lmr = new ListMetricsRequest(); 
ListMetricsResponse lmresponse = cw.ListMetrics(lmr); 

while (lmresponse.NextToken != null); 
{ 
    // set request token 
    lmr.NextToken = lmresponse.NextToken; 
    lmresponse = cw.ListMetrics(lmr); 

    // Process metrics found in lmresponse.Metrics 
} 
0

메트릭의 전체 목록을 반복하면됩니다. foreach 루프를 사용합니다. 코드는 다음과 같을 것이다 :

 // creates the CloudWatch client 
     var cw = Amazon.AWSClientFactory.CreateAmazonCloudWatchClient(Amazon.RegionEndpoint.EUWest1); 
     // initialses the list metrics request 
     ListMetricsRequest lmr = new ListMetricsRequest(); 
     ListMetricsResponse lmresponse = cw.ListMetrics(lmr); 

     foreach (Metric metric in lmresponse.Metrics) 
     { 
      // do something with 
      // metric.MetricName; 
      // metric.Dimensions; 
      // etc 
     } 
+0

도움을 주려는 노력에 감사하지만 그게 내가 찾던 것이 아니 었습니다. 필자가 도움이 필요한 것은 nextToken 값을 사용하여 나머지 메트릭을 얻는 방법이었습니다. – BigMan

0

는 ListMetrics 보장 함수는 계속 호출되며 nextToken이 null이 아닌 한 모든 메트릭을 나열합니다.

private string nextToken; 

do 
{ 
    lmrequest.NextToken = nextToken; 
    lmresponse = cloudwatch.ListMetrics(lmrequest); 
    nextToken = lmresponse.NextToken; 
} while (nextToken != null);