【问题标题】:AWS-SDK Cloudwatch GetMetricData API function not returning dataAWS-SDK Cloudwatch GetMetricData API 函数不返回数据
【发布时间】:2020-05-27 05:32:06
【问题描述】:

我想设置一个 Lambda,使用 Node.js 查询 Cloudwatch 并获取我们的 Lambda 使用的平均调用次数,目标是当我们接近达到调用限制时,我们会触发通知当我们达到该限制时提醒我们。

我能够查询 CW 数据,但是当我运行脚本时,我没有在一段时间内返回任何数据。我不确定我在脚本中做错了什么。

const AWS = require('aws-sdk');
AWS.config.update({region: 'us-east-1'});
const cloudwatch = new AWS.CloudWatch();
const webhook = require('send-webhook');
const SSO_URL = "URL1";
const URLS = ['webhook'];

//var endTime = time.Now();
//var duration = time.ParseDuration("-5m");
//var startTime = endTime.Add(duration);

var params = {
  EndTime: '2019-06-04T08:45:00Z',
  MetricDataQueries: [
    {
      Id: 'concurrencycount',
      Label: 'Average concurrency',
      MetricStat: {
        Metric: {
          Dimensions: [
            {
              Name: 'FunctionName',
              Value: 'LambdaName'
            },
          ],
          MetricName: 'Invocations',
          Namespace: 'AWS/Lambda'
        },
        Period: '300',
        Stat: 'Average',
        Unit: 'Count'
      },
      ReturnData: false
    },
  ],
  StartTime: '2019-06-04T08:00:00Z',
  //ScanBy: TimestampDescending
};

//exports.handler = function(event, context){
cloudwatch.getMetricData(params, function(err, data) {
  if (err) console.log(err, err.stack);
  else console.log(data)
})
//}

当代码运行时,它没有返回任何数据,我看到的只是我看到的以下输出。我尝试了不同的 Lambda 函数,但得到了相同的结果。我不确定返回该数据的 API 调用有什么问题。

{ ResponseMetadata: { RequestId: '291f9049-86ce-11e9-819c-fb65a0786d4d' },
  MetricDataResults: [],
  Messages: [] }

【问题讨论】:

    标签: aws-sdk aws-sdk-nodejs


    【解决方案1】:

    我相信ReturnData: false 告诉 cloudwatch 只返回统计数据,而不是指标本身。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-25
      • 1970-01-01
      • 1970-01-01
      • 2017-04-10
      • 2015-10-17
      • 1970-01-01
      相关资源
      最近更新 更多