Aws lambda (AWS)通过Lambda获取RDS状态

Aws lambda (AWS)通过Lambda获取RDS状态,aws-lambda,aws-sdk,amazon-rds,Aws Lambda,Aws Sdk,Amazon Rds,我一直在尝试通过RDS中的Lambda检索RDS实例的状态,但我一直没有找到答案,因为我无法解析响应。我知道我完全错过了一些显而易见的东西。代码如下: var AWS = require('aws-sdk'); var rdsparams = { DBInstanceIdentifier: 'mysql1' }; module.exports = (instanceId) => { var rds = new AWS.RDS(); var params = { DBInstan

我一直在尝试通过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.DBInstances
中。所以最后几行可能是:

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

你的代码有很多问题

具体的问题是
数据
不是数组。请看以下文档的回复:

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

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

错误消息是什么?TypeError:无法读取响应时未定义的属性“DBInstanceStatus”。(在此行console.log(“状态:+ins.DBInstanceStatus”);)错误消息是什么?TypeError:无法读取响应时未定义的属性“DBInstanceStatus”。(在此行console.log(“状态:+ins.DBInstanceStatus”);)谢谢,我知道必须是这样简单的事情。。。就像你说的,里面发生了太多事情——这可能是我的主要问题!谢谢你,我知道必须是这样简单的事情。。。就像你说的,里面发生了太多事情——这可能是我的主要问题!