我正在使用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"]
然后我的页面会显示&#34; 3442578432&#34; 但我希望它显示[&#34; 3442578432&#34;,&#34; 3001378432,&#34; 5742579932&#34;,&#34; 9742654332&#34;]
我很困惑为什么我不正确地命令执行代码,以及为什么我无法将此api调用中的信息保存到数组中。将来我需要拨打更多服务,我甚至无法在页面上存储和显示帐号。
如果我这样做,我也很困惑:
var orgData = organizations.listAccounts(...
我收到的大部分元数据并不包含任何我的帐户信息。