输出与过滤
更新时间 2026-07-02 16:12:17
最近更新时间: 2026-07-02 16:12:17
天翼云 CLI 支持多种输出格式,并可通过 JMESPath 表达式对 API 返回结果进行筛选和提取。
输出格式
通过 --output / -o 全局参数控制返回结果的展示格式:
JSON 格式(默认)
ctyun-cli vpc ListVpc --regionID bb9fdb42056f11eda1610242ac110002输出示例:
{
"returnObj": {
"vpcs": [
{
"vpcID": "vpc-xxx",
"name": "my-vpc",
"CIDR": "172.31.0.0/16"
}
]
},
"statusCode": 800
}Table 格式
以表格形式展示,建议配合JMESPath过滤使用:
ctyun-cli vpc ListVpc --regionID bb9fdb42056f11eda1610242ac110002 -o tableJMESPath 过滤
通过 --cli-query 参数使用 JMESPath 表达式对返回结果进行筛选,只输出感兴趣的字段。
提取指定字段后以表格展示
ctyun-cli vpc ListVpc --regionID bb9fdb42056f11eda1610242ac110002 --cli-query 'returnObj.vpcs[].{id:vpcID,name:name,cidr:CIDR}' -o tableshu输出示例:
cidr id name
---- -- ----
192.168.0.0/16 vpc-en0h72cf8y test
10.0.0.0/8 vpc-w9snphifbt default_network
192.168.0.0/16 vpc-5c9t641lw7 tf-vpc-gaokeyong
192.168.0.0/16 vpc-dg0cwnoeou tf-vpc-for-dns-6
192.168.4.0/24 vpc-3uyset3jjs vpc-test-route-2
192.168.0.0/16 vpc-djkto43khs tf-vpc-for-redis
192.168.0.0/16 vpc-211azln26d tf-vpc-for-ebm
192.168.0.0/16 vpc-4qievg3tu9 tf-vpc-for-dns-6
192.168.0.0/16 vpc-eeg90ay37v tf-vpc-for-kafka
192.168.0.0/16 vpc-sce5od49s5 tf-vpc-for-ec提取单字段列表
ctyun-cli vpc ListVpc --regionID bb9fdb42056f11eda1610242ac110002 --cli-query 'returnObj.vpcs[].vpcID'输出示例:
[
"vpc-en0h72cf8y",
"vpc-w9snphifbt",
"vpc-5c9t641lw7",
"vpc-dg0cwnoeou",
"vpc-3uyset3jjs",
"vpc-djkto43khs",
"vpc-211azln26d",
"vpc-4qievg3tu9",
"vpc-eeg90ay37v",
"vpc-sce5od49s5"
]常用 JMESPath 语法
| 表达式 | 说明 | 示例 |
|---|---|---|
key | 取顶层字段 | statusCode |
a.b.c | 嵌套取值 | returnObj.vpcs |
[*].field | 提取数组中所有元素的字段 | returnObj.vpcs[*].vpcID |
[?field=='value'] | 条件过滤 | returnObj.vpcs[?name=='my-vpc'] |
[*].{k1:f1,k2:f2} | 投影(重命名字段) | returnObj.vpcs[].{id:vpcID,name:name} |
[0:3] | 数组切片 | returnObj.vpcs[0:3] |
length() | 计数 | length(returnObj.vpcs) |
提示:JMESPath 表达式基于 API 的原始 JSON 返回结构编写,建议先不带 --cli-query 执行一次命令,观察返回结构后再编写过滤表达式。