(AWS) 通过 Lambda 获取 RDS 状态

(AWS) Getting RDS state via Lambda

我一直在尝试通过 RDS 中的 Lambda 检索 RDS 实例的状态,但由于无法解析响应,我总是做空。我知道我在这里完全遗漏了一些显而易见的东西。这是代码:

var AWS = require('aws-sdk');
var rdsparams = {
  DBInstanceIdentifier: 'mysql1'
};
module.exports = (instanceId) => {
 var rds = new AWS.RDS();
 var params = {
  DBInstanceIdentifier: instanceId
};
var rdsResponse = rds.describeDBInstances(rdsparams, function (err, 
 data) {
  if (err) console.log(err, err.stack); // an error occurred
    else console.log(data);           // successful response
  });

var resultData = {};
rds.describeDBInstances(rdsparams, function(err, data) {
  if (err)
    return context.done(err, null);

  var rdsarray = {};
  var rdsarray = (data);
  console.log(rdsarray);
  var ins = rdsarray[0];
  console.log("Status: " + ins.DBInstanceStatus);

});
};

您的代码有很多问题!

具体问题是 data 不是数组。在此处查看文档的响应:https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/RDS.html#describeDBInstances-property

返回值数组在data.DBInstances中。所以最后几行可能是:

  var rdsarray = data.DBInstances;
  console.log(rdsarray);
  var ins = rdsarray[0];
  console.log("Status: " + ins.DBInstanceStatus);