我正在使用 express 制作一个轻量级应用程序,它将显示有关组织帐户和最终 EC2 实例的信息。截至目前,我只想将帐户 ID 保存到一个数组中并在页面上打印该数组。我的代码是:
// service/myjavascript.js
function orgs(req, res) {
var accts = ['3442578432'];
AWS.config = new AWS.Config();
AWS.config.update({accessKeyId: 'MY_KEY', secretAccessKey: 'MY_SECRET', region: 'MY_REGION'});
console.log("1111");
var params = {
MaxResults: 3
};
var organizations = new AWS.Organizations(params);
organizations.listAccounts(function (err, data) {
if (err)
console.log(err, err.stack); // an error occurred
else
for(var i = 0; i < data['Accounts'].length; i++) {
accts.push(data['Accounts'][i]['Id']);
}
console.log("2222:);// successful response
console.log(accts);
});
console.log("3333");
return accts;
}
然后我调用我的页面,这就是我的控制台中显示的内容
1111
3333
GET /testpage 304 21.637 ms - -
GET /stylesheets/style.css 304 21.637 ms - -
2222
["3442578432","3001378432,"5742579932","9742654332"]
然后我的页面将显示“3442578432”,但我希望它显示 [“3442578432”、“3001378432”、“5742579932”、“9742654332”]
我很困惑为什么我错误地命令执行代码,以及为什么我不能将此 api 调用中的信息保存到数组中。将来我需要对更多服务进行更多调用,我什至无法在页面上存储和显示帐号。
我也很困惑为什么我这样做:
var orgData = organizations.listAccounts(...
我得到一大块不包含我的任何帐户信息的元数据。