旧输出参数cli-output-rows,cli-output-cols,cli-output-num使用时的注意事项有哪些?
当命令中使用了“--cli-output-rows”,“--cli-output-cols”,“--cli-output-num”时,将会以table格式输出。使用table输出有利于用户对返回值中的关键信息进行提取。使用时各参数的功能如下:
- --cli-output-cols:table输出时,指定需要打印的字段;
- --cli-output-rows:table输出时,指定需要打印的层级。例如希望表格化一个json结构体,则参数值填写该json结构体的名称。
- --cli-output-num:table输出时,是否打印表格的行号。取值为true或false,默认为true。
了解以上选项的使用方式,可参考旧输出参数cli-output-rows,cli-output-cols,cli-output-num如何使用。
使用如上参数进行table输出时需要注意如下事项:
- “--cli-output-cols”与“--cli-output-rows”可单独使用,也可组合使用:
- 单独使用“--cli-output-rows”:
在命令中单独使用“--cli-output-rows”传入调用结果中某json结构体的名称时,各层级之间以“.”分隔,目标json结构体的内容必须为数组类型,KooCLI会将该json结构体的内容以表格化输出。例如执行命令“hcloud configure list --cli-output-rows=profiles”,会以表格输出所有配置项信息。若“--cli-output-rows”中指定的json结构体的内容不是数组类型,会提示如下错误:
[CLI_ERROR]table输出错误:缺少cli-output-cols参数
- 单独使用“--cli-output-cols”:
参数“--cli-output-cols”中可传入调用结果的json结构体根元素的字段,多个字段之间以“,”分隔。例如:执行命令“hcloud configure show --cli-profile=${profileName} --cli-output-cols=accessKeyId”,会以表格化方式输出指定配置项中的accessKeyId信息。单独使用“--cli-output-cols”时只能指定json结构体根元素的字段,否则会提示如下错误:
[USE_ERROR]参数cli-output-cols中字段*对应的值为null
- 组合使用“--cli-output-cols”与“--cli-output-rows”:
当命令中同时使用“--cli-output-rows”和“--cli-output-cols”时,选项“--cli-output-rows”用来指定需要打印的层级,选项“--cli-output-cols”用来指定该层级中需要打印的字段。例如:执行命令“hcloud configure list --cli-output-rows=profiles --cli-output-cols=accessKeyId”,将以table方式输出所有配置项中的accessKeyId信息;
“--cli-output-rows”的参数值中可使用“[n]”或“[m:n]”指定其中要打印的数组元素的索引位。指定“[n]”时会打印索引为n的值;指定“[m:n]”时会打印原数据m ~(n-1)索引位置的值。例如执行命令“hcloud configure list --cli-output-rows=profiles[0:2] --cli-output-cols=accessKeyId”,则以table方式输出配置项数组中索引位为0和1的配置项中的accessKeyId信息,组合使用“--cli-output-cols”与“--cli-output-rows”时还需注意如下事项:
- 单独使用“--cli-output-rows”:
- 单独使用“--cli-output-num”时,无table输出效果。
- 在同一命令中,“--cli-output-rows”,“--cli-output-cols”,“--cli-output-num”不可与“--cli-json-filter”同时使用,会因无法判断输出格式而导致错误。