(AWS) Получение состояния RDS через лямбду - PullRequest
0 голосов
/ 05 ноября 2018

Я пытался получить состояние экземпляра 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);

});
};

1 Ответ

0 голосов
/ 05 ноября 2018

Там много всего происходит с вашим кодом!

Конкретная проблема заключается в том, что 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);
...