0

有没有办法从 NodeJS 脚本中捕获来自 Azure NodeJS CLI 的 JSON 对象?我可以执行类似 exec('azure vm list') 之类的操作并编写一个承诺来处理延迟的标准输出结果,或者我可以劫持 process.stream.write 方法,但是查看 CLI 代码,我想这相当广泛可能有一种方法可以将回调传递给 cli 函数或其他可能直接返回 JSON 结果的选项。我看到您正在使用 winston 记录器模块——我可能对此很熟悉,但也许那里有一个可以使用的钩子。

4

2 回答 2

0

是的,您可以,请查看以下要点:https ://gist.github.com/4415326 ,您将了解如何不执行 exec。您基本上覆盖了挂在 CLI 上的记录器。

附带说明一下,我即将发布一个新模块 azure-cli-buddy,这将使使用这种技术调用 CLI 并以 JSON 格式接收结果变得容易。

于 2013-01-10T06:13:11.790 回答
0

azure vm list 确实有一个 --json 选项:

 C:\>azure vm list -h
 help:    List Azure VMs
 help:
 help:    Usage: vm list [options]
 help:
 help:    Options:
 help:      -h, --help               output usage information
 help:      -s, --subscription <id>  use the subscription id
 help:      -d, --dns-name <name>    only show VMs for this DNS name
 help:      -v, --verbose            use verbose output
 help:      --json                   use json output

您可以在 exec(...) 调用的回调中获取 json 结果。这对你有用吗?

于 2012-11-27T20:05:34.943 回答