2017-06-10 37 views
1

我試圖從遠程節點服務器獲取我的AWS EC2實例的Ip在var中。 describeAddresses函數運行良好,但我找不到在回調之外獲取IP的方法。特別是:從AWS SDK中檢索IP describeAddresses

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本身定義)。

所有的幫助和指針讚賞!

回答

0

我想我找到了答案,可能不是最乾淨的一個,但它似乎工作

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); 
     } 
    }); 
}