AWS.CloudWatch SDK与CLI产生不同的结果

时间:2020-01-23 16:10:39

标签: amazon-web-services aws-cli aws-sdk-nodejs

我正在尝试从AWS Cloudwatch提取数据。使用CLI时,它可以正常工作。

aws cloudwatch get-metric-statistics --namespace AWS/ApiGateway --metric-name Count --start-time 2020-01-03T23:00:00Z --end-time 2020-01-05T23:00:00Z --period 3600 --statistics Sum  --dimensions Name=ApiName,Value=prod-api-proxy

但是当使用nodejs时,我得到一个空结果集。这是代码:

var AWS = require('aws-sdk');
AWS.config.update({region: 'us-east-1'});
var cw = new AWS.CloudWatch({apiVersion: '2010-08-01'});

var params = {
    Dimensions: [
      {
          Name: 'ApiName',
          Value: 'prod-api-proxy'
      }
    ],
    MetricName: 'Count',
    Namespace: 'AWS/ApiGateway',
    StartTime: new Date('2020-01-03T23:00:00Z').toISOString(),
    EndTime: new Date('2020-01-05T23:00:00Z').toISOString(),
    Statistics: ['Sum'],
    Period: 3600
  };
  cw.getMetricStatistics(params, function(err, data) {
    if (err) {
      console.log("Error", err);
    } else {
      console.log("Metrics", JSON.stringify(data.Metrics));
    }
  })

这是我得到的空响应:

{ Dimensions: [ { Name: 'ApiName', Value: 'prod-api-proxy' } ],
  MetricName: 'Count',
  Namespace: 'AWS/ApiGateway',
  StartTime: '2020-01-03T23:00:00.000Z',
  EndTime: '2020-01-05T23:00:00.000Z',
  Statistics: [ 'Sum' ],
  Period: 3600 }
Metrics undefined

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

仅听过AWS支持。如果有人需要,我会在这里发布答案。我的代码有错误。对象data.Metrics不是响应的一部分。