#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(параметры). Ваш код сделал свое дело. Однако мне пришлось увеличить время ожидания.