aru*_*run 7 c# amazon-ec2 aws-sdk
我正在尝试使用CloudWatch获取特定亚马逊EC2实例的CPU百分比
我在执行代码时遇到此错误(见下文)
请求的AmazonEC2服务版本(2010-08-01)不存在"
我无法更改AmazonCloudWatchClient中的ServiceVersion,因为它具有 Read Only property
默认设置为 2010-08-01
我需要将ServiceVersion更改为 2014-10-01
请在下面找到配置
这里配置文字
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 + "%");
}
}
Run Code Online (Sandbox Code Playgroud)
您认为为什么需要更改日期?
该属性确实没有设置器(请参阅代码),因此您无法使用此类属性定义配置。
我知道您不想透露您的信息,但您有什么
var dimension = new Dimension
{
Name = "instanceName",
Value = "instanceID"
};
Run Code Online (Sandbox Code Playgroud)
名称应该是InstanceName
,如果您使用您在值中指示的实例 ID,它应该InstanceId
类似于
var dimension = new Dimension
{
Name = "InstanceId"
Value = "i-54cfb999"
};
Run Code Online (Sandbox Code Playgroud)