NodeJS 使用AWS Lambda获取CloudWatch警报状态

6yt4nkrj  于 2022-11-22  发布在  Node.js
关注(0)|答案(1)|浏览(108)

我正在尝试写一个Node.js Lambda函数来查询AWS CloudWatch警报和它们的状态。我有下面的代码,它运行成功,但产生了一个“null”响应。Lambda权限是正确的,我在这个区域有警报,它只返回“null”。有人能帮助诊断什么可能是错误的吗?最终我想结束我所有警报的列表,按名称,以及它们状态(OK、ALARM、INSUFFICIENT_DATA),除此之外,将输出存储在s3中,但还没有到这一步。
我从这里获得了这段代码的基础,所以我可能使用了一些不正确的语法或其他:https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/cloudwatch-examples-creating-alarms.html

// Load the AWS SDK for Node.js
var AWS = require('aws-sdk');
// Set the region 
AWS.config.update({region: 'eu-west-2'});

// Create CloudWatch service object
var cw = new AWS.CloudWatch({apiVersion: '2010-08-01'});

exports.handler = async (event) => {
  
cw.describeAlarms(function(err, data) {
  if (err) {
    console.log("Error", err);
  } else {
    // List the names of all current alarms in the console
    data.MetricAlarms.forEach(function (item, index, array) {
       console.log(item.AlarmName, item.StateValue);
    });
  }
})};

我希望在控制台输出中看到警报名称和状态。

5f0d552i

5f0d552i1#

您使用的是过时的AWS SDK for JavaScript。请参阅新的***AWS代码库***以获取要在此处使用的最新推荐SDK:

网址为:
https://docs.aws.amazon.com/code-library/latest/ug/javascript_3_cloudwatch_code_examples.html

相关问题