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