使用Java从AWS自定义Cloudwatch获取最新数据

使用Java从AWS自定义Cloudwatch获取最新数据,java,amazon-cloudwatch,amazon-cloudwatch-metrics,Java,Amazon Cloudwatch,Amazon Cloudwatch Metrics,我在AWS cloudwatch中有一个自定义指标,我通过AWS java API将数据放入其中 for(int i =0;i<collection.size();i++){ String[] cell = collection.get(i).split("\\|\\|"); List<Dimension> dimensions = new ArrayList<>(); dimensions.add(new Dimen

我在AWS cloudwatch中有一个自定义指标,我通过AWS java API将数据放入其中

for(int i =0;i<collection.size();i++){
        String[] cell = collection.get(i).split("\\|\\|");
        List<Dimension> dimensions = new ArrayList<>();
        dimensions.add(new Dimension().withName(dimension[0]).withValue(cell[0]));
        dimensions.add(new Dimension().withName(dimension[1]).withValue(cell[1]));
        MetricDatum datum = new MetricDatum().withMetricName(metricName)
                                             .withUnit(StandardUnit.None)
                                             .withValue(Double.valueOf(cell[2]))
                                             .withDimensions(dimensions);
        PutMetricDataRequest request = new PutMetricDataRequest().withNamespace(namespace+"_"+cell[3]).withMetricData(datum);
        String response = String.valueOf(cw.putMetricData(request));

        GetMetricDataRequest res = new GetMetricDataRequest().withMetricDataQueries();
        //cw.getMetricData();
        com.amazonaws.services.cloudwatch.model.Metric m = new com.amazonaws.services.cloudwatch.model.Metric();
        m.setMetricName(metricName);
        m.setDimensions(dimensions);
        m.setNamespace(namespace);
        MetricStat ms = new MetricStat().withMetric(m);
        MetricDataQuery metricDataQuery = new MetricDataQuery();
        metricDataQuery.withMetricStat(ms);
        metricDataQuery.withId("m1");
        List<MetricDataQuery> mqList = new ArrayList<MetricDataQuery>();
        mqList.add(metricDataQuery);
        res.withMetricDataQueries(mqList);
        GetMetricDataResult result1=  cw.getMetricData(res);


    }

for(inti=0;i我通过下面的代码从cloudwatch获得了结果\

GetMetricDataRequest getMetricDataRequest = new GetMetricDataRequest().withMetricDataQueries();
    Integer integer = new Integer(300);

    Iterator<Map.Entry<String, String>> entries = dimensions.entrySet().iterator();
    List<Dimension> dList = new ArrayList<Dimension>();
    while (entries.hasNext()) {
        Map.Entry<String, String> entry = entries.next();
        dList.add(new Dimension().withName(entry.getKey()).withValue(entry.getValue()));
    }

    com.amazonaws.services.cloudwatch.model.Metric metric = new com.amazonaws.services.cloudwatch.model.Metric();
    metric.setNamespace(namespace);
    metric.setMetricName(metricName);
    metric.setDimensions(dList);
    MetricStat ms = new MetricStat().withMetric(metric)
                                    .withPeriod(integer)
                                    .withUnit(StandardUnit.None)
                                    .withStat("Average");
    MetricDataQuery metricDataQuery = new MetricDataQuery().withMetricStat(ms)
                                                            .withId("m1");

    List<MetricDataQuery> mqList = new ArrayList<>();
    mqList.add(metricDataQuery);
    getMetricDataRequest.withMetricDataQueries(mqList);
    long timestamp = 1536962700000L;
    long timestampEnd = 1536963000000L;
      Date d = new Date(timestamp );
      Date dEnd = new Date(timestampEnd );
    getMetricDataRequest.withStartTime(d);
    getMetricDataRequest.withEndTime(dEnd);
    GetMetricDataResult result1=  cw.getMetricData(getMetricDataRequest);
GetMetricDataRequest GetMetricDataRequest=new GetMetricDataRequest()。withMetricDataQueries();
整数=新整数(300);
迭代器条目=dimensions.entrySet().Iterator();
List dList=new ArrayList();
while(entries.hasNext()){
Map.Entry=entries.next();
添加(新维度().withName(entry.getKey()).withValue(entry.getValue()));
}
com.amazonaws.services.cloudwatch.model.Metric=新建com.amazonaws.services.cloudwatch.model.Metric();
metric.setNamespace(名称空间);
metric.setMetricName(metricName);
公制设置尺寸(数据列表);
MetricStat ms=新建MetricStat()。带公制(公制)
.withPeriod(整数)
.带单位(标准单位。无)
.保持不变(“平均”);
MetricDataQuery MetricDataQuery=新建MetricDataQuery()。withMetricStat(毫秒)
.withId(“m1”);
List mqList=new ArrayList();
添加(metricDataQuery);
getMetricDataRequest.withMetricDataQueries(mqList);
长时间戳=1536962000000L;
长时间戳结束=15369630000000L;
日期d=新日期(时间戳);
Date dEnd=新日期(timestampEnd);
getMetricDataRequest.withStartTime(d);
getMetricDataRequest.withEndTime(dEnd);
GetMetricDataResult result1=cw.getMetricData(getMetricDataRequest);

有人对Java SDK V2做过类似的事情吗?