使用阿里云CLI调用各云产品的分页类接口时,默认情况下仅返回第一页的结果。当需要获取所有的结果时,您可以使用阿里云CLI聚合结果的功能。
--pager选项字段说明
您可以通过使用--pager选项,聚合分页类接口的数组类结果。该选项包含以下四个字段:
字段名 | 描述 |
---|---|
PageNumber | 字段值对应API返回结果中描述列表当前页码的字段,默认值:PageNumber。 |
PageSize | 字段值对应API返回结果中描述每页返回的最大结果数量的字段,默认值:PageSize。 |
TotalCount | 字段值对应API返回结果中描述列表总行数的字段,默认值:TotalCount。 |
path | 由于API返回结果的多样性,您可以手动指定需要聚合的数组类型所在的JMESPath路径。
说明 --pager选项默认可以自动识别结果中的数组类型数据。
|
示例场景
ECS产品的DescribeInstances接口是分页类接口。执行如下命令,默认情况下,该接口仅返回实例信息列表第一页的结果。
aliyun ecs DescribeInstances
系统显示类似如下输出(部分截取):
{ "PageNumber": 1,
"TotalCount": 4,
"PageSize": 10,
"RequestId": "6EA82E70-9750-4A97-A738-E021D8A57F07",
"Instances": {
"Instance": [
{
"ImageId": "win2012r2_64_dtc_9600_zh-cn_40G_alibase_20190318.vhd",
"SerialNumber": "f06857e8-7f3c-443a-9f88-8e84eb5163c7",
"Cpu": 1,
"Memory": 2048,
"DeviceAvailable": true,
"SecurityGroupIds": {
"SecurityGroupId": [
"sg-bp1fgviwol82z8ap348n"
]
}
}
]
}
}
示例命令
执行如下命令,会返回列表所有页中的实例信息。
系统显示如下聚合结果(部分截取):
aliyun ecs DescribeInstances --pager
说明 由于该接口返回的值都符合子字段默认的值,如上命令中省略了所有的子字段。完整命令格式如下:
aliyun ecs DescribeInstances --pager PageNumber=PageNumber PageSize=PageSize TotalCount=TotalCount path=Instances.Instance
{
"Instances": {
"Instance": [
{
"ImageId": "win2012r2_64_dtc_9600_zh-cn_40G_alibase_20190318.vhd",
"SerialNumber": "f06857e8-7f3c-443a-9f88-8e84eb5163c7",
"Cpu": 1,
"Memory": 2048,
"DeviceAvailable": true,
"SecurityGroupIds": {
"SecurityGroupId": [
"sg-bp1fgviwol82z8ap348n"
]
}
}
]
}
}
说明 聚合之后的输出,只包含有聚合的字段。若您使用过滤功能获取您需要了解的字段,此时过滤字段的路径为聚合之后的JMESPath路径。更多信息,请参见过滤且表格化输出结果。