使用阿里云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路径。更多信息,请参见 过滤且表格化输出结果