Я пытаюсь вернуть некоторые данные метрики AWS в виде REST API, написанного в node.js, но, похоже, они не возвращаются, и я не смог найти решение в Интернете.
Поэтому я пытался получить частный IP-адрес экземпляра EC2, запрашивая API, но когда я его возвращаю, данные не возвращаются. Я не совсем уверен, где я облажался?
const displayPrivateIP = () => {
var params = {
InstanceIds: [
'i-0db84dd3b27231xxx'
]
};
ec2.describeInstances(params, function(err, data){
if(!err){
return(data.Reservations[0].Instances[0].PrivateIpAddress);
}
else{
return(err)
}
});
}
Я экспортировал приведенный выше код в виде модуля и запросил его на сервере RESTful со следующим кодом
const express = require('express');
const app = express();
const displayPrivateIP = require('./application');
app.listen(3000, function () {
console.log('Node app is running on port 3000');
});
app.get('/test', function(req, res){
return res.send(displayPrivateIP());
})
Но он не показывает никакого ответа, когда яизмените код на console.log(data..Reservations[0].Instances[0].PrivateIpAddress)
, тогда, когда я запрашиваю API, кажется, что в консоли выводится privateIP в консоли. Почему это происходит?