Я пытаюсь получить Ip моего экземпляра AWS EC2 в var с удаленного сервера Node. Функция describeAddresses работает хорошо, но я не могу найти способ получить IP вне обратного вызова. Особенно:
function getIP() {
var return_ip;
var response = ec2.describeAddresses(ip_params,function(err, data){
if (err) {
console.log("Error", err);
} else {
//console.log("Success", data.Addresses);
var IP = data.Addresses[0].PublicIp;
//This is the IP I should access outside
}
});
//return return_ip;
}
Я не могу добавить какой-либо параметр в ip_params, ни в обратном вызове, ни в функции describeAddresses (поскольку все они определены в самом SDK).
Вся помощь и указатели оценили!
Я думаю, что нашел ответ, возможно, не самый чистый, но, похоже, он работает
var AWS_ip = 0;
function setIP(ip){
AWS_ip = ip;
console.log("IP set to", AWS_ip);
}
function getIP() {
var IP;
var request = ec2.describeAddresses(ip_params, function(err, data) {
if (err) {
console.log("Error", err);
} else {
//console.log("Success", data.Addresses);
IP = data.Addresses[0].PublicIp;
setIP(IP);
}
});
}