我正在尝试写一个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);
});
}
})};
我希望在控制台输出中看到警报名称和状态。
1条答案
按热度按时间5f0d552i1#
您使用的是过时的AWS SDK for JavaScript。请参阅新的***AWS代码库***以获取要在此处使用的最新推荐SDK:
网址为:
https://docs.aws.amazon.com/code-library/latest/ug/javascript_3_cloudwatch_code_examples.html