Невозможно перечислить экземпляры EC2 внутри узла функции лямбда JS

#node.js #amazon-web-services #amazon-ec2 #aws-lambda

Вопрос:

Я пытался запустить функцию lambda для получения сведений об экземплярах EC2 в моем регионе.

Вот мой код

 var AWS = require('aws-sdk');
AWS.config.update({region: 'ap-southeast-1'});


exports.handler = async function(event) {

  var ec2 = new AWS.EC2({apiVersion: '2016-11-15'});

  var params = {
    DryRun: false
  };
  let results = ec2.describeInstances(params, (data, err) => {
    if(err){
      console.log(err)
    }else{
      console.log(data)
    }
  }) ;

  return "Done"
      
  
 

}

Похоже, что внутри ec2.описания вообще нет печати console.log. Я убедился, что нужные мне экземпляры EC2 находятся в том же VPC, что и лямбда, и что у лямбды есть разрешения EC2FullAccess.

Комментарии:

1. Воспользуйся const results = await ec2.describeInstances(params).promise()

2. Спасибо за это. Оказывается, асинхронная функция возвращала обещание без полного запуска ec2.describeInstances(параметры). Ваш код сделал свое дело. Однако мне пришлось увеличить время ожидания.