nodejs的lazy.lines.forEach不适用于aws cli工具输出

时间:2013-08-05 19:18:15

标签: node.js amazon-web-services command-line-interface lazy-evaluation

如果有人在尝试使用像我这样的nodejs的亚马逊的AWS api,请你指教为什么......

child = exec("ssh root\@<server> \"/usr/bin/aws ec2 describe-instances --output table|grep AvailabilityZone|sed 's/ //g'|sed 's/||||//g'|cut -d'|' -f2\"", function(err,zoneout) {
        console.log(zoneout);
        new lazy(zoneout).lines.forEach(function(aline){
              console.log("so lazy");
              //if(zones[zone]==undefined) { zones[zone]=1; }
              //else { zones[zone]++; }
        });
      });
即使该命令输出确实输出多行 - 每个使用区域一行,

也不会导致“如此懒惰”打印一次。 ??感谢。

1 个答案:

答案 0 :(得分:0)

使用awssum列出所有实例:

var fmt = require('fmt');
var amazonEc2 = require('awssum-amazon-ec2');

var ec2 = new amazonEc2.Ec2({
    'accessKeyId'     : process.env.ACCESS_KEY_ID,
    'secretAccessKey' : process.env.SECRET_ACCESS_KEY,
    'region'          : amazonEc2.US_EAST_1,
});

ec2.DescribeInstances(function(err, data) {
    fmt.dump(err, 'err');
    fmt.dump(data, 'data');
});

来自:https://github.com/awssum/awssum-amazon-ec2/