2016-06-10 15 views
7

tôi đang cố gắng để có được tỷ lệ phần trăm CPU của một trường hợp đặc biệt amazon EC2 sử dụng CloudWatchAWS - Làm thế nào để thay đổi phiên bản dịch vụ cấu hình cloudwatchclient trong AWSSDK cho .NET

Tôi đang phải đối mặt với lỗi này khi thực hiện mã (xem dưới đây)

phiên bản yêu cầu (2010/08/01) của dịch vụ AmazonEC2 không tồn tại"

tôi không thể thay đổi ServiceVersion trong AmazonCloudWatchClient bởi vì nó có Read Only property

Tập mặc định là 2010-08-01

tôi cần phải thay đổi ServiceVersion để 2014-10-01

hãy tìm cấu hình dưới đây

Error Image

Và config trong văn bản ở đây

var client = new AmazonCloudWatchClient(clientkey,secretkey,new  AmazonCloudWatchConfig{ServiceURL="url"}) 
    var dimension = new Dimension 
     { 
      Name = "instanceName", 
      Value = "instanceID" 
     }; 
    var request = new GetMetricStatisticsRequest 
     { 
      Dimensions = new List<Dimension>() { dimension }, 
      EndTime = DateTime.Today, 
      MetricName = "CPUUtilization", 
      Namespace = "AWS/EC2", 
      // Get statistics by day. 
      Period = (int)TimeSpan.FromDays(1).TotalSeconds, 
      // Get statistics for the past month. 
      StartTime = DateTime.Today.Subtract(TimeSpan.FromDays(30)), 
      Statistics = new List<string>() { "Minimum" }, 
      Unit = StandardUnit.Percent    
     }; 

    var response = client.GetMetricStatistics(request); 

     if (response.Datapoints.Count > 0) 
     { 
      foreach (var point in response.Datapoints) 
      { 
       Console.WriteLine(point.Timestamp.ToShortDateString() + 
        " " + point.Minimum + "%"); 
      } 
     } 

Trả lời

0

tại sao bạn nghĩ bạn cần thay đổi ngày?

Khách sạn thực sự không có setter (xem code) vì vậy bạn sẽ không thể xác định cấu hình với thuộc tính như vậy.

Tôi hiểu bạn không muốn tiết lộ thông tin của bạn nhưng những gì bạn có theo

var dimension = new Dimension 
     { 
      Name = "instanceName", 
      Value = "instanceID" 
     }; 

Tên này phải được InstanceName và nếu bạn sử dụng bạn dụ id như bạn chỉ rõ trong giá trị nó phải được InstanceId cái gì đó như

var dimension = new Dimension 
     { 
      Name = "InstanceId" 
      Value = "i-54cfb999" 
     }; 
+0

ghi đè không xảy ra đối với phiên bản dịch vụ cấu hình. một lần nữa nhận được lỗi tương tự – arun

+0

có bởi vì trong ghi đè không có phương pháp thiết lập nhưng lạ, sử dụng đúng thông số tên với giá trị liên kết chính xác nên làm việc –

+0

Tạo một phần lớp và cấu hình phiên bản AmazonCloudWatchConfig Config = new AmazonCloudWatchConfig(); Config.RegionEndpoint = RegionEndpoint.USEast1; var client = new AmazonCloudWatchClient ("xxxxx", "xxxx", Config); điều này cũng không làm việc bị lỗi "không thể chuyển đổi amazon. cloudwatch.amazoncloudwatchconfig thành amazon.regionendpoint" – arun

Các vấn đề liên quan