AWS cloud watch java SDK返回错误值

AWS cloud watch java SDK返回错误值,java,amazon-web-services,amazon-ec2,aws-sdk,Java,Amazon Web Services,Amazon Ec2,Aws Sdk,我试图构建一个小型测试仪,用于打印AWS中运行的EC2实例的CPU利用率 try { AmazonCloudWatchClient cw = initializeCW(); //cw.setEndpoint("https://monitoring.us-east-1.amazonaws.com"); GetMetricStatisticsRequest getMetricStatisticsRequest = new GetMetricS

我试图构建一个小型测试仪,用于打印AWS中运行的EC2实例的CPU利用率

try {
        AmazonCloudWatchClient cw = initializeCW();
        //cw.setEndpoint("https://monitoring.us-east-1.amazonaws.com");
        GetMetricStatisticsRequest getMetricStatisticsRequest = new      GetMetricStatisticsRequest();
        List<Dimension> dims = new ArrayList<Dimension>();
        Dimension dim = new Dimension();
        dim.setName("instanceId");
        dim.setValue("i-4dd6b9dd");
        dims.add(dim);
        getMetricStatisticsRequest.setNamespace("AWS/EC2");
        getMetricStatisticsRequest.setMetricName("CPUUtilization");

        getMetricStatisticsRequest.setStartTime(new Date(System
                        .currentTimeMillis() - 1000*60*60));//Last hour
        getMetricStatisticsRequest.setEndTime(new Date(System
                        .currentTimeMillis()));
        getMetricStatisticsRequest.setPeriod(60*5);//every 5 minutes
        getMetricStatisticsRequest.getStatistics().add("Sum");
        getMetricStatisticsRequest.getStatistics().add("Maximum");
        getMetricStatisticsRequest.getStatistics().add("Average");
        GetMetricStatisticsResult getMetricStatisticsResponse = cw
                        .getMetricStatistics(getMetricStatisticsRequest);
        System.out.println(getMetricStatisticsResponse);
    }catch (Exception e) {
        e.printStackTrace();
    }
}
试试看{
AmazonCloudWatchClient cw=initializeCW();
//cw.setEndpoint(“https://monitoring.us-east-1.amazonaws.com");
GetMetricStatisticsRequest GetMetricStatisticsRequest=新建GetMetricStatisticsRequest();
List dims=新的ArrayList();
尺寸标注=新尺寸标注();
dim.setName(“实例ID”);
尺寸设定值(“i-4dd6b9dd”);
添加(dim);
getMetricStatisticsRequest.setNamespace(“AWS/EC2”);
getMetricStatisticsRequest.setMetricName(“CPUUtilization”);
getMetricStatisticsRequest.setStartTime(新日期(系统
.currentTimeMillis()-1000*60*60));//最后一小时
getMetricStatisticsRequest.setEndTime(新日期(系统
.currentTimeMillis());
getMetricStatisticsRequest.setPeriod(60*5);//每5分钟
getMetricStatisticsRequest.getStatistics().add(“总和”);
getMetricStatisticsRequest.getStatistics().add(“最大值”);
getMetricStatisticsRequest.getStatistics().add(“Average”);
GetMetricStatisticsResult getMetricStatisticsResponse=cw
.getMetricStatistics(getMetricStatisticsRequest);
System.out.println(getMetricStatisticsResponse);
}捕获(例外e){
e、 printStackTrace();
}
}
我得到的结果具有错误的值。 API的响应是: {标签:CPUUtilization,数据点:[]}

它是空的。 实际值和AWS控制台提供的值约为30%。

无论我添加还是注释掉setEndpoint,行为都是相同的,这是有意义的,因为us-east-1是默认端点

你知道我做错了什么吗